【发布时间】:2020-11-19 22:51:57
【问题描述】:
我正在尝试写入已使用另一个程序(excel 和其他程序)保存的 csv 文件。 但是,当我打开文件进行写入时,写入的第一行将添加到最后一行的最后一个单元格中。
file.csv
['1','2','3']
['1','2','3']
import csv
fields=['A','B','C']
with open('file.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow(fields)
预期结果:
['1','2','3']
['1','2','3']
['A','B','C']
实际结果:
['1','2','3']
['1','2','3A','B','C']
如果我只是写入文件然后再次写入而不查看它,没有问题,但是如果我打开文件并将其保存在程序中,则写入的下一行将添加到上一行而不是成为它自己的行。
我认为程序保存文件的方式存在格式问题,但我不知道如何修复它。
【问题讨论】:
-
你为什么要使用
newline=''参数? -
@Serial Lazer 我在试图找出问题所在时添加了它,他们在一些示例中使用了它。没有它,问题仍然存在
-
@SerialLazer - writer documentation 告诉您使用
newline=""。原因是作者会写符合规范的“\r\n”,并且不希望python的换行符也在那里。
标签: python excel csv export-to-csv