当我csv.DictWriter.writerows在Windows上使用Python时,在行之间添加空换行符。如何停止呢?该代码在Linux上运行良好。
csv.DictWriter.writerows
csv.DictWriter()
\r\n
with open(filename, 'ab') as outputfile: writer = csv.DictWriter(outputfile, fieldnames)
从csv.writer()文档中:
csv.writer()
如果 csvfile 是文件对象,则必须在有区别的平台上使用“ b”标志打开它。
newline=''
with open(filename, 'a', newline='') as outputfile: writer = csv.DictWriter(outputfile, fieldnames)
再次引用相关csv.writer()文档:
如果 csvfile 是文件对象,则应使用newline='' […] 如果newline=''未指定,嵌入引号字段中的换行符将无法正确解释,并且在使用\r\nlinendings的平台\r上将添加额外的字符。newline=''由于csv模块会执行自己的(通用)换行处理,因此始终应该安全地指定。
如果 csvfile 是文件对象,则应使用newline=''
[…]
如果newline=''未指定,嵌入引号字段中的换行符将无法正确解释,并且在使用\r\nlinendings的平台\r上将添加额外的字符。newline=''由于csv模块会执行自己的(通用)换行处理,因此始终应该安全地指定。
\r