内部发生了什么不允许我打印输出? 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)
我正在尝试使用以下代码获取 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)