python-游标未使用来自dict的输入写入列表
我有一个字典,每个键都有一个值列表。我想通过游标对象(qSPAD)循环查找dict keys项中的每个值,并将找到的项写入每个键的csv文件(如果找到了项)python-游标未使用来自dict的输入写入列表,python,csv,dictionary,cursor,Python,Csv,Dictionary,Cursor,我有一个字典,每个键都有一个值列表。我想通过游标对象(qSPAD)循环查找dict keys项中的每个值,并将找到的项写入每个键的csv文件(如果找到了项) import csv import arcpy import os dict = {1:[431, 122, 761], 2:[1,5921, 314, 91, 18], 3:[16, 12], 4:[1]} for k, v in dict.items(): name = "coQ" + str(k) + ".csv"
import csv
import arcpy
import os
dict = {1:[431, 122, 761], 2:[1,5921, 314, 91, 18], 3:[16, 12], 4:[1]}
for k, v in dict.items():
name = "coQ" + str(k) + ".csv"
cPath = r"C:\Path"
coQ = os.path.join(cPath, name)
with open(coQ, mode = 'w') as company_file:
with arcpy.da.SearchCursor(qSPAD, ["SPADID", "AddressLookup"]) as rows:
for row in rows:
if row[0] in v:
company_file.write(row[0], ": ", row[1])
company_file.close()
我希望SPADID值与键值中的一项匹配,我希望将SPADID和相应的地址写入CSV。因此,如果行中的前三个值为122,则地址A;81,地址B;91,地址C
标题为coQ1.csv
的csv文件将包含:
SPADID:AddressLookup
122:地址A
然后一个名为coQ2.csv
的csv文件将包含:
SPADID:AddressLookup
91:地址C
然而,dict实际上包含100个键,我得到的输出是100个空白的csv文件。我想看看是否在qSPAD中找到了一个与某个键的items值匹配的值,如果是,则将其以上述dict中该键的格式写入csv(请注意,csv名称基于键值)。如果在qSPAD中找不到值,则不会为该键写入csv(因此使用If子句)。如果将
与open(…)一起用作…
,则不需要close()
,因为当您将与…
一起离开时,它会自动关闭文件。只需使用print()
查看变量中的内容-如果v:中的第[0]行未运行write()
则可能没有正确的值,而且它永远不会转到,您希望行中有数字或字符串吗<代码>1和“1”
不是一回事。如果是字符串,请尝试dict={1:[“431”,“122”,“761”],2….
或更好,将其更改为If int(行[0])…
谢谢大家。我找到了一种新方法,可以访问dict并将其写入文件,而不需要光标。现在我只需要弄清楚如何将dict中的每个项目写入新行。如果使用带有open(…)的作为…
,您不需要close()
,因为当您使用…
离开时,它会自动关闭文件,只需使用print()
查看变量中的内容-可能您没有正确的值,如果v:
中的行[0]并且没有运行write()
您希望行中有数字或字符串吗?1
和“1”
不是一回事。如果是字符串,请尝试dict={1:[“431”、“122”、“761”],2….
或者更好,如果是int(行[0]),请将其更改为…
谢谢大家。我找到了一种新方法来访问dict并将其写入文件,而不需要光标。现在我只需要弄清楚如何将dict中的每一项写入新行。