我是一个初学者,目前正在用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)