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

posted @ 2020-11-20 10:04  r1-12king  阅读(908)  评论(0编辑  收藏  举报