如何在Python3中为csv文件编写字典?

如何在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

我试图将字典写入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.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-我编辑了答案。