Python实例:excel文档数据处理操作
利用Python对某一份按省份及月份统计的数据进行读取并汇总
import openpyxl
import pprint
通过对数据输出结果研究,考虑最终的数据存储结构用字典类型,如下:
'''
cityData = {
'北京':{'统计的月份':12, '总计':88888},
'天津':{}
}
'''
程序主体部分如下:
cityData = {}
print('打开工作簿')
wb = openpyxl.load_workbook('分省月度数据.xlsx')
sheet = wb.active
for row in range(2, sheet.max_row + 1):
city = sheet['A' + str(row)].value
data = sheet['C' + str(row)].value
cityData.setdefault(city, {'统计的月份': 0, '总计': 0})
cityData[city]['统计的月份'] += 1
cityData[city]['总计'] += float(data)
print('写入结果。。。')
resultFile = open('result.py', 'w')
resultFile.write('dataResult = ' + pprint.pformat(cityData))
源数据截图:
输出结果:
dataResult = {'上海市': {'总计': 27181.35, '统计的月份': 12},
'云南省': {'总计': 22330.67, '统计的月份': 12},
'内蒙古自治区': {'总计': 5867.4400000000005, '统计的月份': 12},
'北京市': {'总计': 24100.35, '统计的月份': 12},
'吉林省': {'总计': 7316.46, '统计的月份': 12},
'四川省': {'总计': 40466.63, '统计的月份': 12},
'天津市': {'总计': 18452.940000000002, '统计的月份': 12},
'宁夏回族自治区': {'总计': 2727.4100000000003, '统计的月份': 12},
'安徽省': {'总计': 44320.439999999995, '统计的月份': 12},
'山东省': {'总计': 53365.14, '统计的月份': 12},
'山西省': {'总计': 9609.27, '统计的月份': 12},
'广东省': {'总计': 97098.0, '统计的月份': 12},
'广西壮族自治区': {'总计': 20834.53, '统计的月份': 12},
'新疆维吾尔自治区': {'总计': 5510.1, '统计的月份': 12},
'江苏省': {'总计': 81291.48999999999, '统计的月份': 12},
'江西省': {'总计': 14884.589999999998, '统计的月份': 12},
'河北省': {'总计': 29553.75, '统计的月份': 12},
'河南省': {'总计': 45468.78999999999, '统计的月份': 12},
'浙江省': {'总计': 69855.34, '统计的月份': 12},
'海南省': {'总计': 10077.6, '统计的月份': 12},
'湖北省': {'总计': 33464.549999999996, '统计的月份': 12},
'湖南省': {'总计': 25893.85, '统计的月份': 12},
'甘肃省': {'总计': 7139.130000000001, '统计的月份': 12},
'福建省': {'总计': 36306.71, '统计的月份': 12},
'西藏自治区': {'总计': 580.46, '统计的月份': 12},
'贵州省': {'总计': 17394.14, '统计的月份': 12},
'辽宁省': {'总计': 19128.96, '统计的月份': 12},
'重庆市': {'总计': 28984.370000000003, '统计的月份': 12},
'陕西省': {'总计': 23087.979999999996, '统计的月份': 12},
'青海省': {'总计': 2291.5, '统计的月份': 12},
'黑龙江省': {'总计': 5497.81, '统计的月份': 12}}