【发布时间】:2013-11-30 05:34:50
【问题描述】:
我正在尝试从 csv 文件返回最后一行。我正在修改我之前编写的另一个函数,它返回文本文件的最后一行。起初它似乎按预期工作,但现在当我调用该函数时,它会引发错误。
reader.seek(0, os.SEEK_END)
AttributeError: '_csv.reader' object has no attribute 'seek'
import os
import csv
def getLastFile(filename):
distance = 1024
with open(filename,'rb') as f:
reader = csv.reader(f)
reader.seek(0, os.SEEK_END)
if reader.tell() < distance:
reader.seek(0, os.SEEK_SET)
lines = reader.readlines()
lastline = lines[-1]
else:
reader.seek(-1 * distance, os.SEEK_END)
lines = reader.readlines()
lastline = lines[-1]
return lastline
有人可以帮我修改我的代码吗?我很确定你可以这样使用 seek,也许我弄错了?
【问题讨论】:
-
你能给我们提供 csv 文件吗?
-
据我所知,您可以在
file对象上使用seek和tell,但不能在csv.reader对象上使用。我不确定是否有与csv.reader结合使用的好方法。 -
我刚刚制作了一个 .csv 小文件,其中 20 行左右和 5 列填充了随机数。该代码(我相信)应该与通用 .csv 文件一起使用,返回最后一行,所以我不确定如果我发布它会有所帮助,但如果你愿意,我可以。谢谢!
-
该死,真令人沮丧!
-
我不认为这是重复的 - 目标是指“我如何告诉我在最后一行” - 这个问题是“我如何得到最后一行”.. . 它们不是同义词...