我怎样才能阻止Python的csv.DictWriter.writerows在Windows行之间添加空行?

当我在Windows上使用Python的csv.DictWriter.writerows时,在行之间添加空的换行符。 我该如何阻止? 该代码在Linux上正常工作。

  • 在Python 2中:始终以二进制模式打开文件; csv.DictWriter()写入\r\n行尾:

     with open(filename, 'ab') as outputfile: writer = csv.DictWriter(outputfile, fieldnames) 

    csv.writer()文档 :

    如果csvfile是一个文件对象,那么必须在平台上用“b”标志打开,这是有所作为的

  • 在Python 3中:用newline=''打开文件,这样csv.DictWriter()就可以控制没有翻译的新行:

     with open(filename, 'a', newline='') as outputfile: writer = csv.DictWriter(outputfile, fieldnames) 

    再次引用相关的csv.writer()文件 :

    如果csvfile是一个文件对象,应该用newline=''打开

    […]

    如果未指定newline='' ,嵌入在引用字段内的换行符将不会被正确解释,并且在使用\r\n列表的平台上写入额外的\r将被添加。 指定newline=''应该总是安全newline='' ,因为csv模块执行自己的(通用)换行处理。