我的csv文件中总共有36k行,但是当我读取该文件时,它只能处理6k行。它从下到上进行处理。
这是我的代码
with open('ledgers.csv', 'r') as csv_ledger:
r = csv.DictReader(csv_ledger)
data = [dict(d) for d in r]
groups = []
count = 0
for k, g in groupby(data, lambda r: (r['ref_num'])):
groups.append({
"ref_num": k,
"items": [{k:v for k, v in d.items() if k not in ['ref_num']} for d in list(g)]
})
count += 1
print (json.dumps(groups,indent = 4))
print(count)
返回给我的计数仅为6199。
我的文件格式如下
date | ref_num | name <---Header
2019-01-01 | H001 | shanny
答案 0 :(得分:3)
如果我没看错的话,似乎您只能找到6000个唯一的参考编号。您可能要获取6000多个行,但要获取6000个组。
要正确计算从csv文件读取的行数,请尝试使用
print(len(data))
代替
print(count)
因为count
仅表示您拥有的唯一参考编号组的数量。