4
當我在Windows上使用Python的csv.DictWriter.writerows
時,在行之間添加了空換行符。我如何阻止?該代碼在Linux上正常工作。如何阻止Python的csv.DictWriter.writerows在Windows中的行之間添加空行?
當我在Windows上使用Python的csv.DictWriter.writerows
時,在行之間添加了空換行符。我如何阻止?該代碼在Linux上正常工作。如何阻止Python的csv.DictWriter.writerows在Windows中的行之間添加空行?
在Python 2中:以二進制模式打開文件,始終; csv.DictWriter()
寫道:\r\n
行結尾:
with open(filename, 'ab') as outputfile:
writer = csv.DictWriter(outputfile, fieldnames)
如果csvfile是一個文件對象,它必須與平臺上的「B」標誌,在有差別打開。
在Python 3:打開文件,newline=''
所以csv.DictWriter()
可以控制不翻譯寫的換行符:
with open(filename, 'a', newline='') as outputfile:
writer = csv.DictWriter(outputfile, fieldnames)
再次引述相關csv.writer()
documenation:
如果csvfile是一個文件對象,它應該用
newline=''
打開[...]
如果
newline=''
沒有指定,嵌入式引述領域內的換行符將無法正確解釋,並且在使用上寫一個額外的\r
將被添加\r\n
linendings平臺。指定newline=''
應始終安全,因爲csv模塊執行自己的(通用)換行處理。
如何打開要寫入的文件? –
open(filename,'a +') –
爲什麼'+';你也讀過嗎? –