gpt4 book ai didi

python - 让 csv.reader 告诉它什么时候在最后一行

转载 作者:太空狗 更新时间:2023-10-29 19:36:19 32 4
gpt4 key购买 nike

显然,某些 csv 输出实现在某处从最后一行的右侧截断字段分隔符,并且当字段为空时仅截断文件中的最后一行。

示例输入 csv,字段“c”和“d”可为空:

a|b|c|d
1|2||
1|2|3|4
3|4||
2|3

在类似于下面的脚本中,我如何判断我是否在最后一行,以便我知道如何适本地处理它?<​​/p>

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)
....

最佳答案

基本上,您只有在用完之后才知道自己用完了。所以你可以包装 reader 迭代器,例如如下:

def isLast(itr):
old = itr.next()
for new in itr:
yield False, old
old = new
yield True, old

并将您的代码更改为:

for line_num, (is_last, row) in enumerate(isLast(reader)):
if not is_last: assert len(row) == len(header)

等等

关于python - 让 csv.reader 告诉它什么时候在最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/970983/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com