mah*_*kya 7 python csv python-2.7
我们可以写一下(这里应该编辑)并使用csv库在Python中同时读取相同的csv文件吗?
可以打开csv文件进行编辑和追加吗?
如果是这样,怎么样?
简短回答:不
长答案:这取决于
使用 CSV 编写器完全可以附加数据。只需以追加模式打开文件"a"
:
with file("data.csv", "a" as fh:
w = csvwriter(fh):
w.writerow(...)
Run Code Online (Sandbox Code Playgroud)
编辑 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
Run Code Online (Sandbox Code Playgroud)
在 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 a
Run Code Online (Sandbox Code Playgroud)
请小心 - 您的读者将能够阅读您刚刚使用编写器编写的行。请注意,不要陷入无限循环,从而导致文件非常大。
归档时间: |
|
查看次数: |
7072 次 |
最近记录: |