Python CSV寻求不工作?

时间:2014-03-15 03:48:52

标签: python csv seek

 file_handle = open("/var/www/transactions.csv", "a")
  c = csv.writer(file_handle);

 oldamount = amount / 1.98
  file_handle.seek(0);

  c.writerow( [addre, oldamount, "win"])

这是我的代码

我希望将[addre,oldamount," win"]写到我的CSV文件的开头,但是它不起作用。它仍然是最底层的。

1 个答案:

答案 0 :(得分:3)

您正在追加("a")模式下打开文件。 open() with open("/var/www/transactions.csv", "r+") as f: olddata = f.read() f.seek(0) c = csv.writer(f); c.writerow([addre, oldamount, "win"]) f.write(olddata) 明确指出了这一行为:“无论当前的搜索位置如何,所有写入都附加到文件的末尾”。

不可能像你想的那样在文件的开头“只插入”文本。您既可以读取整个文件,也可以在前面添加数据,然后将其写回,或者您可以了解数据最后的结果。

重写示例:

os.rename()

请注意,如果写入时出现问题,可能会损坏您的文件。如果您想最大限度地减少这种可能性,请写入新文件,然后{{1}}覆盖旧文件。