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.')