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[city] = cityData.get(city, {'统计的月份': 0, '总计': 0})
   cityData.setdefault(city, {'统计的月份': 0, '总计': 0})
   cityData[city]['统计的月份'] += 1
   cityData[city]['总计'] += float(data)


# 输出结果到py文件中,考虑用pprint第三方库


print('写入结果。。。')
resultFile = open('result.py', 'w')
resultFile.write('dataResult = ' + pprint.pformat(cityData))

源数据截图:

Python实例:excel文档数据处理操作_数据

输出结果:


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}}

Python实例:excel文档数据处理操作_python_02