【发布时间】:2016-01-13 17:58:42
【问题描述】:
我在比较 CSV 文件中的行时偶然发现了问题。
我可以将 csv.reader 与 len() 一起使用,它工作得很好,但是我必须在密钥上对文件进行排序。
我有唯一的键,所以我想使用 DictReader 但 len() 似乎可以读取 dict 中的所有值,包括空单元格:
with open (baseline, 'r') as baselineF:
readBaseline=csv.DictReader(baselineF, delimiter=',', quotechar='"')
for rowb in readBaseline:
print('rowb: ',len(rowb))
with open (tested, 'r') as testedF:
readTested=csv.DictReader(testedF, delimiter=',', quotechar='"')
for rowt in readTested:
print ('rowt: ', len(rowt))
# Rows are the same len
if len(rowb)==len(rowt):
writerSameOracle.writerow(rowb)
writerSameHPCC.writerow(rowt)
print ('Rows are the same')
break
使用此代码,即使行具有相同数量的填充单元格,它似乎也会将 len() = 返回到每个文件中的标题数。
【问题讨论】:
标签: python excel csv dictionary cells