2024-05-18 19:13:50 发布
网友
我正在尝试使用以下代码写入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文件时,我发现它在每一行后面都添加了一个空行。你知道吗
tri.csv
为什么?你知道吗
如果您使用的是python2.x,请在open()中使用'ab'。如果您使用的是python3.x,请添加newline=''作为另一个参数。在^{}文档中建议这样做。例如:
open()
'ab'
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()总是在末尾添加一个通常需要的换行符。要阻止它写入,您需要一种不同的方法,首先将数据写入字符串而不是文件,去掉换行符,然后将结果文本写入文件。你知道吗
writerow()
另见:Python CSV insert final newline - how can I avoid it?
如果您使用的是python2.x,请在} 文档中建议这样做。例如:
open()
中使用'ab'
。如果您使用的是python3.x,请添加newline=''
作为另一个参数。在^{Python 2.x版
Python 3.x版
注意,通过进行此更改,将删除行之间的其他空行。
writerow()
总是在末尾添加一个通常需要的换行符。要阻止它写入,您需要一种不同的方法,首先将数据写入字符串而不是文件,去掉换行符,然后将结果文本写入文件。你知道吗另见:Python CSV insert final newline - how can I avoid it?
相关问题 更多 >
编程相关推荐