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

时间:2018-07-12 18:57:01

标签: python csv dictionary

我试图将字典写入csv文件,但出现错误:“参数1必须具有“写入”方法”。该词典包含与作者列表关联的键值。

  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)

1 个答案:

答案 0 :(得分:1)

您的文件对象名为csvfile,但是您正在将csv模块传递给DictWriter

writer = csv.DictWriter(csv, fieldnames=fieldnames)

应该是

writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

如果您只有一个字典,则应该使用writerow-writerows用于有可迭代或要写入的多个字典列表的情况:

writer.writerows(ADSclassObj.authorDict)

应该是

writer.writerow(ADSclassObj.authorDict)