【发布时间】:2016-04-15 18:50:21
【问题描述】:
我正在使用 Python (Raspberry Pi) 编辑 CSV 文件。我用“追加”标签打开文件并添加一行。之后我检查文件的大小。如果文件太大,我想删除第一行数据(有一个标题行)。我看到的每个示例都只是跳过该行并将所有其他行写入不同的 CSV 文件。我不想创建新的 CSV 文件...我只想删除当前文件中的第一行并保存。
import csv
def write_csv(datalist):
with open("CSVfile",'a') as f:
writer = csv.writer(f, delimiter=',' ,quoting=csv.QUOTE_NONE)
writer.writerow(datalist)
while os.path.getsize("CSVfile") > 100000:
****DELETE FIRST ROW OF DATA FROM CSV FILE****
【问题讨论】:
-
您将不得不反复保存它。每次删除第一行datalist,直到大小小于100000。
-
这段代码有错误,
csv.writer对象没有writeline。 -
将其修复为
writerow。谢谢。 -
@ThomasChristensen 我将如何对其进行编码,以便我每次都写入一个新文件......但文件名保持“不变”,以便循环在需要循环时正常工作几次?
-
您需要使用第二个文件。您可以创建一个新文件并写入它。写入成功完成后,您可以将临时文件重命名为原始名称。