我正在使用DictWriter将字典中的数据输出到csv文件。为什么CSV文件在每个数据行之间有空行?这不是什么大问题,但是我的数据集很大,并且不适合放入一个csv文件,因为它的行数太多,因为“双倍行距”会使文件中的行数加倍。为什么CSV文件在Python中使用Dictwriter输出时在每个数据行之间包含空行
我写的字典代码:
headers=['id', 'year', 'activity', 'lineitem', 'datum']
output = csv.DictWriter(open('file3.csv','w'), delimiter=',', fieldnames=headers)
output.writerow(dict((fn,fn) for fn in headers))
for row in rows:
output.writerow(row)
或者你可以像这样打开输出csv:open(filename,“wb”)。它为我解决了这个问题。 – 2013-08-05 06:47:15
不知道它是Python 3还是其他原因,但是当我使用“wb”它写入一个空白文件,而lineterminator ='\ n'选项完美。作为一个附注,与二进制模式下编写CSV文件相比,这看起来是违反直觉的,因为它是一个文本文件。也许这只与阅读有关,而不是写作。 – Davos 2014-05-02 03:35:00
在Python 3,如果你使用的WB“你需要,以便它知道如何将Unicode文本转换成字节 http://www.pythoncentral.io/encoding-and-decoding-到指定的字符串编码串式的Python-3-X/ 据我所知,如果你只使用“W”和你写它会用ASCII编码,和失败,如果您有任何的unicode字符在那里的字符串。 – drojf 2015-05-15 04:14:41