Очевидно, что некоторые реализации вывода csv где-то усекают разделители полей справа в последней строке и только в последней строке в файле, когда поля равны нулю.
Пример ввода csv, поля 'c' и 'd' имеют значение NULL:
a|b|c|d
1|2||
1|2|3|4
3|4||
2|3
Что-то вроде приведенного ниже сценария, как я могу определить, нахожусь ли я в последней строке, чтобы я знал, как правильно с этим справиться?
import csv
reader = csv.reader(open('somefile.csv'), delimiter='|', quotechar=None)
header = reader.next()
for line_num, row in enumerate(reader):
assert len(row) == len(header)
....