1、加载模块,设置路径,读取表格
import os import openpyxl import pprint os.chdir('D:\\pySpace') print('Opening workbook...') wb = openpyxl.load_workbook('censuspopdata.xlsx') # 加载电子表格
sheet = wb.get_sheet_by_name('Population by Census Tract') countyData = {}
2、f遍历所有的行, 汇总各州的每个县的统计地区数和每个县的人口数,将数据填充到字典 countyData 中。
print('Reading rows...') for row in range(2, sheet.max_row + 1): # 每一行包含一个普查地区的数据
state = sheet['B' + str(row)].value county = sheet['C' + str(row)].value pop = sheet['D' + str(row)].value # 保证字典里以州命名的第一层键存在
countyData.setdefault(state, {}) # 确保以每个州的每个县命名第二层键存在
countyData[state].setdefault(county, {'tracts': 0, 'pop': 0}) # 对每个县统计地区的进行累加计数
countyData[state][county]['tracts'] += 1
# 对每个县的人口累加计数
countyData[state][county]['pop'] += int(pop)
3、创建 py 文件,并将之前生成的字典数据写入其中。
print('Wring results...') resultFile = open('census2010.csv', 'w') resultFile.write('allData = ' + pprint.pformat(countyData)) resultFile.close() print('Done.')