理解python中的csv DictWriter语法

use*_*014 6 python csv

我正在寻找对前一个SO问题的非常有用的答案,在尝试将一个dicts列表写入CSV文件时可以在这里找到.我使用的代码是:

with open((filename), 'wb') as outfile:
    write = csv.DictWriter(outfile, keyList)
    write.writer.writerow(keyList)
    write.writerows(data)
Run Code Online (Sandbox Code Playgroud)

其中keyList是csv文件的标头列表.

代码工作得很好,这很好,但我不明白为什么我必须writer明确地调用底层实例来编写keyList(头文件).我尝试过那条线write.writerow(keyList),但它不起作用.我很好奇为什么会这样,我可以更好地理解Python的DictWriter是如何工作的.

是否有更清洁/更好的写作方式?

Tim*_*ker 3

您似乎依赖于未记录的行为。对象DictWriter没有“官方”writer方法。

输出 CSV 标头的正确方法是调用

write.writeheader()
Run Code Online (Sandbox Code Playgroud)