python csv寫入文件產生空行問題


問題

在用csv.writer().writerow()寫入文件時, 會產生空白行,如下:

import csv

file_name = "testdata/test_data.csv"

f = open(file_name, 'w', encoding = 'utf-8')
csv_writer = csv.writer(f)

for _ in range(10):
    myarray = np.random.randint(0, 2, 10)
    csv_writer.writerow(myarray)

f.close()

打開文件, 如圖所示,每一行數據后面都自動增加了一個空行。

 

 

解決方法:

在open()函數內部加上一個參數“ newline='' ”,如下:

import csv

file_name = "testdata/test_data.csv"

f = open(file_name, 'w',newline='', encoding = 'utf-8')
csv_writer = csv.writer(f)

for _ in range(10):
    myarray = np.random.randint(0, 2, 10)
    csv_writer.writerow(myarray)

f.close()

結果如下:

 

 

注意:python 2.7 open函數中無newline參數。python 3以上版本中會有newline這個參數。


免責聲明!

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



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