我想在我的旧csv文件中添加一个新行。基本上,每次运行Python脚本时它都会更新。现在我将旧的csv行值存储在列表中,然后删除csv文件并使用新的列表值再次创建它。想知道有没有更好的方法来做到这一点。
3 回答

叮当猫咪
TA贡献1776条经验 获得超12个赞
with open('document.csv','a') as fd:
fd.write(myCsvRow)
使用'a'参数打开文件允许您附加到文件的末尾,而不是简单地覆盖现有内容。试试吧。

斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
我更喜欢使用csv标准库中的模块和with语句来避免文件打开。
关键点是'a'在打开文件时使用附加功能。
import csv
fields=['first','second','third']
with open(r'name', 'a') as f:
writer = csv.writer(f)
writer.writerow(fields)
如果您使用的是Python 2.7,则可能会遇到Windows中多余的新行。您可以尝试避免使用它们'ab'而不是使用'a'此方法,但是,导致TypeError:需要类似字节的对象,而不是python中的'str'和 Python 3.6中的CSV。newline=''正如Natacha所暗示的那样,添加它将导致Python 2和3之间的向后不兼容。
添加回答
举报
0/150
提交
取消