当我只知道行号时,如何从CSV文件中删除行



我是一个初学者,目前正在用python编写一段代码,如果CSV的长度超过给定的数字,第一行将被删除,为更多内容腾出空间。有没有一个函数可以只通过行号删除CSV中的行?

没有特殊的函数,因为这可以通过简单的for循环来完成。

这里我们有一个输入文件,它是逐行读取的,同时跳过rownumbers_to_remove中包含行号的行。注意带有start=1参数的enumerate(...),使索引从1而不是0开始。这可能会稍微提高可读性。

lines = list()
rownumbers_to_remove= [5,6]
with open('name-of-file.csv', 'r') as read_file:
reader = csv.reader(read_file)
for row_number, row in enumerate(reader, start=1):
if(row_number not in rownumbers_to_remove):
lines.append(row)
with open('name-of-file.csv', 'w') as write_file:
writer = csv.writer(write_file)
writer.writerows(lines)

最新更新