Python學習中,當使用writerow時輸出多余的空行解決方法


今天在學習用Python進行CSV文件存儲

當我以csv格式寫入文件的時候,文件讀取的時候出現了多余的空行,代碼:

1 import csv 2 
3 with open('data.csv', 'w') as csvfile: 4     writer = csv.writer(csvfile) 5     writer.writerow(['id', 'name', 'age']) 6     writer.writerow(['10001', 'Mike', '20']) 7     writer.writerow(['10002', 'Bob', '22']) 8     writer.writerow(['10003', 'Jordan', '21'])

出現空行的結果:

經過網上的資料查閱后,問題產生的原因是csv輸出的效果是行末是CR,然后是一個CRLF的換行符,網上給出的解決方法是將寫入格式改為binary模式。

但我運行后卻報出這樣的錯誤:TypeError: a bytes-like object is required, not 'str' ,因為我寫入的是字符串數據,於是我采取了另一種解決方法:

在加一個csv.writer中加入lineterminator='\n'的參數,修改后的代碼為:

1 import csv
2 
3 with open('data.csv', 'w') as csvfile:
4     writer = csv.writer(csvfile, lineterminator='\n')
5     writer.writerow(['id', 'name', 'age'])
6     writer.writerow(['10001', 'Mike', '20'])
7     writer.writerow(['10002', 'Bob', '22'])
8     writer.writerow(['10003', 'Jordan', '21'])

此時創建的csv文件沒有了多余的空行:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM