向csv fi添加了带有writerow函数的空行

2024-05-18 19:13:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用以下代码写入CSV文件:

with open('tri.csv', 'a') as csvfile2:
    writer0 = csv.writer(csvfile2, delimiter=';', encoding='utf-8')
    writer0.writerow([id_emp, name_emp, old_date, "", "", "", old_diff])

但是当我打开tri.csv文件时,我发现它在每一行后面都添加了一个空行。你知道吗

为什么?你知道吗


Tags: 文件csv代码aswithopenoldtri
1条回答
网友
1楼 · 发布于 2024-05-18 19:13:50

如果您使用的是python2.x,请在open()中使用'ab'。如果您使用的是python3.x,请添加newline=''作为另一个参数。在^{}文档中建议这样做。例如:

Python 2.x版

with open('tri.csv', 'ab') as csvfile2:
    writer0 = csv.writer(csvfile2, delimiter=';', encoding='utf-8')
    writer0.writerow([id_emp, name_emp, old_date, "", "", "", old_diff])

Python 3.x版

with open('tri.csv', 'a', newline='', encoding='utf-8') as csvfile2:
    writer0 = csv.writer(csvfile2, delimiter=';')
    writer0.writerow([id_emp, name_emp, old_date, "", "", "", old_diff])

注意,通过进行此更改,将删除行之间的其他空行。writerow()总是在末尾添加一个通常需要的换行符。要阻止它写入,您需要一种不同的方法,首先将数据写入字符串而不是文件,去掉换行符,然后将结果文本写入文件。你知道吗

另见:Python CSV insert final newline - how can I avoid it?

相关问题 更多 >

    热门问题