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