如何在Python中向csv文件添加标头?

Cro*_*lle 10 python csv

我已经尝试了很多解决方案来为我的csv文件添加标题,但没有任何工作正常.他们来了 :

  1. 我使用了writerow方法,但我的数据覆盖了第一行.

  2. 我使用了DictWriter方法,但我不知道如何正确填充它.这是我的代码:

    csv = csv.DictWriter(open(directory +'/csv.csv', 'wt'), fieldnames = ["stuff1", "stuff2", "stuff3"], delimiter = ';')
    csv.writeheader(["stuff1", "stuff2", "stuff3"])
    
    Run Code Online (Sandbox Code Playgroud)

我得到了"2个参数而不是1个"错误,我真的不知道为什么.

有什么建议?

Mar*_*ers 21

你需要做的就是DictWriter.writeheader()不带参数调用:

with open(os.path.join(directory, 'csv.csv'), 'wb') as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames = ["stuff1", "stuff2", "stuff3"], delimiter = ';')
    writer.writeheader()
Run Code Online (Sandbox Code Playgroud)

已经告诉DictWriter()了你的标题是什么.

  • @Aleksandar:是的,*Python 2.6不支持.该方法是在Python 2.7中添加的.您可以使用`writer.writerow(dict(zip(writer.fieldnames,writer.fieldnames)))`来模拟它. (5认同)
  • TypeError:'fieldnames'是这个函数的无效关键字参数,我使用的是Python 2.6,PyQt4.7.你能帮我吗? (2认同)