【发布时间】:2016-09-23 21:08:21
【问题描述】:
我的目标是在 Excel 中计算对指定公司的报价。
我之前使用了大量的 if 语句来进行计数工作。 如下代码
ipl=gs=gt=0
for file in glob.glob('*.xlsm'):
wb=load_workbook(file,data_only=True)
ws=wb["Tim"]
client=ws['B2'].value
if client=='Injection Parts Ltd.':
ipl+=1
if client=='Gulf Sample Ltd':
gs+=1
if client=='Great test Ltd.':
gt+=1
以上工作。
考虑到if语句有20多条,而且需要很长时间才能完成检查,所以我使用了如下字典
ipl=gs=gt=0
for file in glob.glob('*.xlsm'):
wb=load_workbook(file,data_only=True)
ws=wb["Tim"]
client=ws['B2'].value
companypool = {'Injection Parts Ltd.':ipl,
'Gulf Sample Ltd':gs,
'Great test Ltd.':gt}
if client in companypool:
print(companypool[client])
print(client)
companypool[client]+=1
结果是companypool[client]一直为0,计数失败。
代码有错吗?
我是 Python 新手,提前谢谢你。
【问题讨论】: