如何在Python3中为csv文件编写字典?
我试图将字典写入csv文件,但我得到一个错误:“参数1必须有一个“write”方法”。字典包含一个与作者列表关联的键值如何在Python3中为csv文件编写字典?,python,csv,dictionary,Python,Csv,Dictionary,我试图将字典写入csv文件,但我得到一个错误:“参数1必须有一个“write”方法”。字典包含一个与作者列表关联的键值 with open('mycsvfile.csv', 'w', newline='') as csvfile: fieldnames = ['BibCodes', 'Author 1', 'Author 2', 'Author 3'] writer = csv.DictWriter(csv, fieldnames=fieldnames) writer
with open('mycsvfile.csv', 'w', newline='') as csvfile:
fieldnames = ['BibCodes', 'Author 1', 'Author 2', 'Author 3']
writer = csv.DictWriter(csv, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(ADSclassObj.authorDict)
print (csvfile)
您的文件对象名为
csvfile
,但您正在将csv
模块传递给DictWriter
writer = csv.DictWriter(csv, fieldnames=fieldnames)
应该是
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writerow(ADSclassObj.authorDict)
此外,如果您有一个单独的dict,您应该使用writerow
-writerow
,当您有一个可写或多个dict列表要写时:
writer.writerows(ADSclassObj.authorDict)
应该是
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writerow(ADSclassObj.authorDict)
您有一个输入错误
csv->csvfile
。您有一个输入错误:csv
而不是csvfile
作为csv.DictWriter()
的第一个参数。谢谢!这似乎有帮助。现在我得到了“AttributeError:‘str’object没有属性‘keys’”@Sam,这可能意味着你应该使用writerow
而不是writerow
,因为这是一个单独的dict-我编辑了答案。