大家好,我该如何使用list.remove或del来删除我用来遍历列表的切片?我尝试了多种组合,但不断出现错误,要么是因为迭代不是列表,要么是因为我必须提供一个整数
import csv
import sys
from itertools import islice
sourcef = sys.argv[1]
destf = sys.argv[2]
linestart = int(sys.argv[3])
lineend = int(sys.argv[4])
with open (sourcef, 'rb') as file1, open (destf, 'wb') as file2:
reader = csv.reader(file1)
writer = csv.writer(file2)
row = list(reader)
for i in [slice(reader, linestart, lineend)]:
#for i in islice(reader, linestart, lineend):
row.remove(i)
print row
无法修改列表,因为您正在对其进行迭代。那就是疯狂。在迭代行时打印行,然后删除末尾的行
这与
csv
没有什么关系。任何list
都可以使用切片分配修改以删除相邻元素注意,我使用了
slice
,但是在这种情况下是一样的。
slice
对象的主要兴趣在于可以将其作为参数传递/像变量一样使用就你而言
成功了吗
在您的情况下,如果csv文件非常大,则完全加载它可能是一个问题。您可以使用
enumerate
筛选出行:相关问题 更多 >
编程相关推荐