当我只知道行号时如何从 CSV 文件中删除行?
How to delete rows from a CSV file when I just know the row number?
我是初学者,目前正在 python 中编写代码,如果 CSV 的长度超过给定的数字,第一行将被删除,使 space 更多。
是否有可以仅通过行号删除 CSV 中的行的函数?
没有特殊功能,因为这可以通过简单的 for
循环完成。
这里我们有一个输入文件,它是逐行读取的,同时跳过行号包含在 rownumbers_to_remove
中的行。
注意 enumerate(...)
和 start=1
参数使索引从 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)
我是初学者,目前正在 python 中编写代码,如果 CSV 的长度超过给定的数字,第一行将被删除,使 space 更多。 是否有可以仅通过行号删除 CSV 中的行的函数?
没有特殊功能,因为这可以通过简单的 for
循环完成。
这里我们有一个输入文件,它是逐行读取的,同时跳过行号包含在 rownumbers_to_remove
中的行。
注意 enumerate(...)
和 start=1
参数使索引从 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)