Sea*_* W. 4 python windows csv
当我csv.DictWriter.writerows在Windows上使用Python 时,行之间会添加空的换行符.我怎么阻止它?该代码在Linux上运行良好.
Mar*_*ers 14
在Python 2中:始终以二进制模式打开文件; csv.DictWriter()写\r\n行结尾:
with open(filename, 'ab') as outputfile:
writer = csv.DictWriter(outputfile, fieldnames)
Run Code Online (Sandbox Code Playgroud)
如果csvfile是一个文件对象,则必须在平台上打开"b"标志,这会产生影响.
在Python 3中:使用newline=''so 打开文件csv.DictWriter()可以控制在没有翻译的情况下编写的换行符:
with open(filename, 'a', newline='') as outputfile:
writer = csv.DictWriter(outputfile, fieldnames)
Run Code Online (Sandbox Code Playgroud)
再次引用相关csv.writer()文件:
如果csvfile是文件对象,则应该打开它
newline=''[...]
如果
newline=''未指定,则引用字段中嵌入的换行符将无法正确解释,并且\r\n在写入时使用换行符的平台\r上将添加额外的行.指定应始终是安全的newline='',因为csv模块执行其自己的(通用)换行处理.