問題
在用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這個參數。