将新行追加到旧的csv文件python中

我想在我的旧csv文件中添加一个新行。基本上,每次运行Python脚本时它都会更新。


现在我将旧的csv行值存储在列表中,然后删除csv文件并使用新的列表值再次创建它。


想知道有没有更好的方法来做到这一点。


梵蒂冈之花
浏览 1097回答 3
3回答

叮当猫咪

with open('document.csv','a') as fd:    fd.write(myCsvRow)使用'a'参数打开文件允许您附加到文件的末尾,而不是简单地覆盖现有内容。试试吧。

斯蒂芬大帝

我更喜欢使用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之间的向后不兼容。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python