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这个参数。