Python 用 openpyxl 模块统计 Excel 表格中的数据,以字典形式写入 py 文件

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

 

 

 

 

posted @ 2019-05-23 22:43  赏尔  阅读(1622)  评论(0编辑  收藏  举报