内部发生了什么不允许我打印输出? csv文件的最后一行

What is internally happening which does not let me print output ? last line of csv file

我正在尝试使用以下代码获取 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)