我们可以写(这里应该编辑)&使用csv库在Python中同时读取相同的csv文件?
可以打开csv文件进行编辑吗?追加?
若然,怎么样?
答案 0 :(得分:1)
简答:没有
答案很长:取决于
使用CSV编写器完全可以添加数据。只需以附加"a"
模式打开文件:
with file("data.csv", "a" as fh:
w = csvwriter(fh):
w.writerow(...)
编辑CSV文件并不是那么简单,因为除非您编辑的列是固定长度,否则您需要插入和删除部分文件。 csv
模块没有内置方法。
您可以打开原始文件,删除(或重命名原始文件)并打开一个同名的新文件:
with file("data.csv", "r") as rfh:
os.remove("data.csv"):
r = csvreader(rfh)
with file("data.csv", "w") as wfh:
w = csvwriter(wfh)
# ... read from r and write to w
在Linux下,原始文件将保持可供阅读,直到它关闭为止,因此您无需事先重命名。我对Windows不太熟悉,因此您可能需要在创建新文件之前重命名原始文件,并在关闭后删除旧文件。
另一个重点:如果你的写作仅限于追加数据,你可以在不乱的情况下从同一个文件读取和写入。
with file("data.csv", "r") as rfh, file("data.csv", "a") as wfh:
r = csvreader(rfh)
w = csvwriter(wfh)
# you can read using r and append using w
请注意 - 您的读者将能够阅读您刚使用作者编写的行。请注意,不要在无限循环中导致非常大的文件。