将新行追加到旧的csv文件python中
我想在我的旧csv文件中添加一个新行。 基本上,每次运行Python脚本时它都会更新。
现在我将旧的csv行值存储在列表中,然后删除csv文件并使用新的列表值再次创建它。
想知道有没有更好的方法来做到这一点。
5个解决方案
166 votes
with open('document.csv','a') as fd:
fd.write(myCsvRow)
使用'a'参数打开文件允许您附加到文件末尾,而不是简单地覆盖现有内容。 试试吧。
inkedmn answered 2019-06-09T19:10:42Z
99 votes
我更喜欢使用标准库中的csv模块和'ab'语句来避免文件打开。
关键点是在打开文件时使用'ab'进行追加。
import csv
fields=['first','second','third']
with open(r'name', 'a') as f:
writer = csv.writer(f)
writer.writerow(fields)
您可能会在Windows中遇到多余的新行。 您可以尝试使用'ab'而不是'a'来避免它们。
G M answered 2019-06-09T19:11:20Z
10 votes
你打开文件的模式是'a'而不是'w'?
请参阅python文档中的读取和写入文件
7.2。 读写文件
open()返回一个文件对象,最常用的有两个参数:o