我正在尝试从文件中读取数据。每行的前几个字符是类别,后几个是数量。我想将前几个字符用作键,并继续将后几个字符求和成相应键的值。
dak = open(filename)
zip3 = {}
for l in dak:
y = l[:3]
if y in zip3:
continue
zip3[y] = int(l[-2:])
运行此代码后,我得到:
KeyError: '006'
,其中006是该行的前三个字符。我在做什么错了?
编辑:我放入了我的实际代码,以便可以运行它。
答案 0 :(得分:0)
以下代码最终起作用:
dak = open('C:\\WIP\\SubRegions\\MMC2__86-SSX_05-07-2018-15-35-45.dak', 'r')
zip3 = {}
for l in dak:
y = l[:3]
if y in zip3:
continue
zip3[y] = 0
zip3[y] = zip3[y] + int(l[-2:])
dak = open('C:\\WIP\\SubRegions\\MMC2__86-SSX_05-07-2018-15-35-45.dak', 'r')
for l in dak:
y = l[:3]
zip3[y] = zip3[y] + int(l[-2:])