Python操作Excel实现数据收集
1. 事情起源
疫情期间学校要求每天每个人都得上报自己的体温,每日两次。但是一个月要汇总一次,一张表格要核对自己一个月内填的数据,谁有那时间啊,所以想起了python自动化办公好像能办这个事。于是,开始了。。。。。。
2.选择合适的模块
-
xlrd模块只能对数据进行读
-
xlwt模块只能对数据进行写,且不能实现追加填写
-
xlutils.copy能对数据进行复制,把 xlrd 对象转换成 xlwt 对象,就可以进行追加填写
-
以上三个模块只能操作后缀名为xls的excel文件
-
通过openpyxl模块可以简单的实现追写功能
3.先要了解可能用到的方法
- !````wb1 = openpyxl.load_workbook() 加载一个已有的excel文件
- wb2 = openpyxl.workbook 新建一个excel文件
- wb2 = wb2 复制原先的excel文件
- sn = wb2.sheetnames 获取已加载的excel文件的表格名字集合,返回一个列表
- sheet = wb2[sn[0]] 打开要操作的表单 sn[0]就是第一张表单
- sheet.cell(row,column).value = data data为你要添加的数据,此方法不能操作合并单元格,否则会报错
- 当然也可以用 sheet.cell(row,column).value 来查看 表单(row,column)坐标的数据
- wb2.save() 括号里放你要保存的地址
4. 构思
-
先从数据源获取你要保存的同学的名字,学号,分别存在两个列表中,最后保存的时候要用
-
再复制一个存放数据excel的模板
-
创建数据列表 循环遍历来获取 数据源 的数据
-
最后循环将列表的数据输出
-
保存每次编辑的结果
-
完成
5. 代码实现
import openpyxl
import os
# 获取学号和姓名列表
numList = []
for num in range(1,45):
if num>=0 and num<= 9:
numList.append('0'+str(num))