python-游标未使用来自dict的输入写入列表

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"

我有一个字典,每个键都有一个值列表。我想通过游标对象(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"
    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中的每一项写入新行。