I am trying to return the last row from a csv file. I am modifying another function that I wrote previously that returns the last line from a text file. It seemed to work
csv reader not support seek, so you can get csv file last line as text file, then process last line as csv. In your code, if last line length > distance, then will get only part of last line.
import os
def get_last_line(fin):
line_len = 80
fin.seek(0, os.SEEK_END)
file_size = fin.tell()
while True:
line_len = min(line_len * 2, file_size)
fin.seek(-line_len, os.SEEK_END)
lines = f.readlines()
if len(lines) > 1 or line_len == file_size:
return lines[-1]
then read csv:
import csv
print ', '.join(csv.reader([last_line]).next())