【发布时间】:2015-01-26 16:22:38
【问题描述】:
我正在尝试扫描 csv 文件并逐行进行调整。最后,我想删除最后一行。如何删除同一扫描循环中的最后一行?
我下面的代码从原始文件中读取,进行调整,最后写入一个新文件。
import csv
raw_data = csv.reader(open("original_data.csv", "r"), delimiter=",")
output_data = csv.writer(open("final_data.csv", "w"), delimiter=",")
lastline = # integer index of last line
for i, row in enumerate(raw_data):
if i == 10:
# some operations
output_data.writerow(row)
elif i > 10 and i < lastline:
# some operations
output_data.writerow(row)
elif i == lastline:
output_data.writerow([])
else:
continue
【问题讨论】:
-
从哪个文件中删除最后一行?原始输入文件?
-
@Evert 删除 output_data 中的最后一行。
-
如果要删除最后一行,为什么要先写呢?
-
@Evert 我从一个名为
original_data.csv的文件开始。我不知道有多少行。final_data.csv是我创建的所有调整后的输出文件。经过所有调整,我不想保留原始文件的最后一行。但是,我如何知道一行是否是最后一行? -
你也许可以简单地切片
raw_data:for i, row in enumerate(raw_data[:-1]):。
标签: python python-2.7