显然,某些csv输出实现会在最后一行的右侧截断字段分隔符,而在字段为空时仅截断文件中的最后一行.
示例输入csv,字段'c'和'd'可以为空:
a|b|c|d
1|2||
1|2|3|4
3|4||
2|3
Run Code Online (Sandbox Code Playgroud)
在下面的脚本中,我怎么知道我是否在最后一行,所以我知道如何正确处理它?
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)
....
Run Code Online (Sandbox Code Playgroud)