excel读取的实例

利用python对excel数据进行统计

表格数据

开课学院校区教学班人数课程总学时
食品科技学院海滨校区10524
食品科技学院海滨校区10524
滨海农业学院海滨校区6032
滨海农业学院海滨校区7624
机械与动力工程学院海滨校区6848
机械与动力工程学院海滨校区6848
机械与动力工程学院海滨校区2956
机械与动力工程学院海滨校区2956
机械与动力工程学院海滨校区2956
机械与动力工程学院海滨校区3056
机械与动力工程学院海滨校区2856
机械与动力工程学院海滨校区2856
机械与动力工程学院海滨校区2956
机械与动力工程学院海滨校区3356
机械与动力工程学院海滨校区5856
机械与动力工程学院海滨校区5956
机械与动力工程学院海滨校区5656
机械与动力工程学院海滨校区6256
机械与动力工程学院海滨校区8032
机械与动力工程学院海滨校区8032
机械与动力工程学院海滨校区7824
海洋工程学院海滨校区3564
海洋工程学院海滨校区3264
海洋工程学院海滨校区2964
海洋工程学院海滨校区3464
海洋工程学院湖光校区6764
海洋工程学院湖光校区6364
海洋工程学院湖光校区3048
海洋工程学院湖光校区2648
海洋工程学院湖光校区2648
海洋工程学院湖光校区3048
海洋工程学院湖光校区2948
海洋工程学院湖光校区8248
海洋工程学院湖光校区5948
海洋工程学院湖光校区5948
海洋工程学院湖光校区8248
海洋工程学院湖光校区3032
海洋工程学院湖光校区2632
海洋工程学院湖光校区2632

编程实现对表单数据的统计

import openpyxl, pprint
#打开工作簿并获取表单对象
wb = openpyxl.load_workbook('全校课表.xlsx')
actS = wb.active

#用字典数据结构来存储数据
CountryData = {}
#循环读取每一行
for row in range(2, actS.max_row):
    #读取取某一行的每一列数据并接收
    academy = actS['A'+str(row)].value
    tract = actS['B'+str(row)].value
    time = actS['C' + str(row)].value
    student = actS['D' + str(row)].value
    #用setdefault方法来初始化字典,若以前存在这个key值,则不创建,否则创建新key值
    CountryData.setdefault(tract, {})
    #字典下还是字典
    CountryData[tract].setdefault(academy, {'time': 0, 'student': 0})
    #对数据进行统计
    #上面接收的value是字符串值,需要强转才能进行累加
    CountryData[tract][academy]['time'] += int(time)
    CountryData[tract][academy]['student'] += int(student)

存储数据

	#结果用一个python文件来接收
    resultFile = open('data2021.py', 'w')
    #借助pprint对数据进行格式化(字典格式)写入
    resultFile.write('allData = '+pprint.pformat(CountryData))

结果

allData = {'海滨校区': {'机械与动力工程学院': {'student': 856, 'time': 844},
          '海洋工程学院': {'student': 256, 'time': 130},
          '滨海农业学院': {'student': 56, 'time': 136},
          '食品科技学院': {'student': 48, 'time': 210}},
 '湖光校区': {'海洋工程学院': {'student': 624, 'time': 609}}}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值