学着书上敲一遍,跑通了
import openpyxl,pprint
wb=openpyxl.load_workbook('censuspopdata.xlsx')
sheet=wb['Population by Census Tract']
counrtyData={}
rowNum=sheet.max_row
print(rowNum)
# 将excel数据写入嵌套dict
for row in range(2,rowNum+1):
state=sheet['B'+str(row)].value
country=sheet['C'+str(row)].value
pop=sheet['D'+str(row)].value
counrtyData.setdefault(state,{})
counrtyData[state].setdefault(country,{'tracts':0,'pop':0}) # 嵌套多层的dict,这里是设置默认值
counrtyData[state][country]['tracts']+=1
counrtyData[state][country]['pop']+=int(pop)
# 将嵌套dict写入文件
resultFile=open('census2010.py','w')
resultFile.write('allData = '+pprint.pformat(counrtyData))
resultFile.close()
print('Done.')