python 读取Word指定数据导入到Excel
本帖最后由 hs248613 于 2022-5-19 10:10 编辑写在前面:
因为工作原因要审核一些工地上的计时工单子,简单来说就是核对几个时间段一工花了多少时间
几十、几百张单子手算太麻烦,也没有电子表,就写了个代码把数据导到Excel里计算
代码写完了,能用,发出来希望看到的大佬能在我基础上指点、优化下(代码写好了)
代码实现效果:
把计时工单子里的开始时间、结束时间提取出来到表格里,再利用表格计算时间,这样就可以核对里面的总时间是不是计算对了。
本人小白,刚开始心很大:要把doc转docx、要用循环遍历所有Word文件、用for循环把数据写入表格、写入计算。
后面变成了手动合并文档、手动转docx、for循环架构不起来,数据用笨办法一行代码一行代码的执行,计算手动表格里设置,表格提前建好。
需要提取的数据:
执行后获得的数据:
下面是代码和附件,有兴趣的可以自己试试
from docx import Document
from openpyxl import load_workbook
import re
# path = r'C:/Users/HS/Desktop/python_riqi/小挖机.docx'wb = load_workbook(r'./导出数据.xlsx')#读取当前目录下文件,文件名可根据需求更改
ws = wb.active
# 读取文件
document = Document(r'./小挖机.docx') #读取当前目录下文件,文件名可根据需求更改
# 读取word中的所有表格
tables = document.tables
for i in range(0,12):
# 获取第n张表
table0 = tables
date1_0 = table0.cell(0, 3).text
#print(date1_0)
date1 = table0.cell(3, 1).text#获取指定单元格信息
# print(date1)
date1_1 = re.findall(r"上午开始时间:(.*);",date1) #正则获取单元格信息
date1_2 = re.findall(r"上午完成时间:(.*);",date1)
date1_3 = re.findall(r"下午开始时间:(.*);",date1)
date1_4 = re.findall(r"下午完成时间:(.*);",date1)
date1_5 = re.findall(r"晚上开始时间:(.*);",date1)
date1_6 = re.findall(r"晚上完成时间:(.*);",date1)
# print(date1_1)
ws.cell(i*8+2,2).value = date1_0[5:] #将获取到的时间写入表格
ws.cell(i*8+3,2).value = date1_1[0]
ws.cell(i*8+4,2).value = date1_2[0]
ws.cell(i*8+5,2).value = date1_3[0]
ws.cell(i*8+6,2).value = date1_4[0]
ws.cell(i*8+7,2).value = date1_5[0]
ws.cell(i*8+8,2).value = date1_6[0]
i +=1
wb.save('导出数据.xlsx')
print('save…………\n数据读取完毕')
Word表格和Excel文件链接
链接:https://pan.baidu.com/s/1oaraDcc5lrpASLCECYaFEA?pwd=z7lb
提取码:z7lb 用在线表单手机不香吗? 单子不统一 你就尴尬了{:1_907:} 王某人 发表于 2022-4-9 20:51
单子不统一 你就尴尬了
这种代码能封装成.exe类的执行文件吗 http://36.99.39.228:9830/zhouk-qrcode/#/personal核酸预登记,求能表格信息批量进行登记,保存二维码(文件名:姓名+身份证号)。 科大的思念 发表于 2022-4-10 11:18
http://36.99.39.228:9830/zhouk-qrcode/#/personal核酸预登记,求能表格信息批量进行登记,保存二维码( ...
senelium+openpyxl就可以了 王某人 发表于 2022-4-9 20:51
单子不统一 你就尴尬了
手动统一 {:1_907:},毕竟处理最基础的琐碎琐、零散的数据才 最难的,有规律的就好弄多了,除此之外就只能让别人按你模板填 zhcj66 发表于 2022-4-9 23:16
这种代码能封装成.exe类的执行文件吗
可以的,封装好发给别人用。但前提要保证你代码考虑了各种特殊情况、或者你不考虑处理特殊情况,封装了发给别人前写好使用说明。不然还是用代码方便修改。 科大的思念 发表于 2022-4-10 11:18
http://36.99.39.228:9830/zhouk-qrcode/#/personal核酸预登记,求能表格信息批量进行登记,保存二维码( ...
Auto Macro Recorder v4.6.2.8 自动宏录制工具,可重复鼠标键盘动作
https://www.52pojie.cn/thread-1619002-1-1.html
(出处: 吾爱破解论坛)
用这个鼠标自动软件,也可以,网页打开放左边,表格放右边,重复复制,点击,粘贴,提交
页:
[1]