【问题标题】:How to add data to the end of a CSV file (Python)如何将数据添加到 CSV 文件的末尾(Python)
【发布时间】:2011-04-28 00:02:49
【问题描述】:

我需要能够定期将数据添加到 CSV 文件的末尾。理想情况下,我不想将整个文件读入内存。

有没有办法可以将数据附加到文件的末尾?我想到的一个解决方案是简单地从 Python 中使用管道命令,但这似乎太丑陋了。有没有更好的方法在 CSV 文件末尾追加一行或几行?

【问题讨论】:

  • 有时(写入与 Excel 兼容的 CSV)是 open(fname,'ab')
  • 啊,是的,它总是那些你想念的显而易见的东西。我无法相信答案是多么明显。我可以要求关闭这个问题,或者你们中的任何一个人都可以回答,这样我就可以接受你的回答。

标签: python csv


【解决方案1】:

实际上,有两种方法。首先,您可以只使用open(filename, 'ab'),这将打开appending in binary mode 的文件。第二种是使用seek

import os
my_file = open("data.csv", "ab")
my_file.seek(0, os.SEEK_END)

(我把第二个扔进去主要是为了不只是在扯掉 S. Lott 和 SilentGhost。它不是特别有用。)

【讨论】:

  • 呃,除非我弄错了,否则您不能追加到以读取模式打开的文件吗? - 我错过了什么吗?
  • 根据该教程链接:“r+ 打开文件以进行读写”。根据the docs,这是为了“更新”。嗯...
  • 感谢您的澄清。可能坚持使用“ab”模式只是为了确保附加数据。
  • @skyeagle - 老实说,我不知道“更新”是什么意思。我也会使用“ab”(现在更改答案)。
猜你喜欢
  • 2016-09-10
  • 1970-01-01
  • 1970-01-01
  • 2017-03-26
  • 2013-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-25
相关资源
最近更新 更多