我正在尝试使用以下代码获取csv文件的最后一条记录。
没有任何内容被打印为输出。
我在csv文件中有101条记录。需要获取文件的最后一条记录
代码:
import csv
count = 0
with open('/folder/emp.csv','r') as csvdt:
csv_rd = csv.reader(csvdt)
get_record_count = len(list(csv_rd)) #101
for j in csv_rd:
if count == get_record_count:
print(j)
else:
count = count + 1
内部发生了什么不允许我打印输出?
csv_rd
是一个生成器,因此如果应用len(list(csv_rd))
,则会耗尽csv_rd
的内容。为了防止精疲力竭,你必须先得到csv_rd
的列表。
代码:
import csv
with open('/folder/emp.csv','r') as csvdt:
csv_rd = csv.reader(csvdt)
lines = list(csv_rd)
get_record_count = len(lines) #101
for i, line in enumerate(lines, 1):
if i == get_record_count:
print(line)
如果您只想得到最后一行,那么下面的代码可能也很有用。
import csv
with open('/folder/emp.csv','r') as csvdt:
csv_rd = csv.reader(csvdt)
last_line = list(csv_rd)[-1]
print(last_line)