吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1524|回复: 8
收起左侧

[讨论] python 读取Word指定数据导入到Excel

[复制链接]
hs248613 发表于 2022-4-9 19:28
本帖最后由 hs248613 于 2022-5-19 10:10 编辑

写在前面:

  因为工作原因要审核一些工地上的计时工单子,简单来说就是核对几个时间段一工花了多少时间
  几十、几百张单子手算太麻烦,也没有电子表,就写了个代码把数据导到Excel里计算
  代码写完了,能用,发出来希望看到的大佬能在我基础上指点、优化下(代码写好了)
代码实现效果:
  把计时工单子里的开始时间、结束时间提取出来到表格里,再利用表格计算时间,这样就可以核对里面的总时间是不是计算对了。
  本人小白,刚开始心很大:要把doc转docx、要用循环遍历所有Word文件、用for循环把数据写入表格、写入计算。
  后面变成了手动合并文档、手动转docx、for循环架构不起来,数据用笨办法一行代码一行代码的执行,计算手动表格里设置,表格提前建好。


需要提取的数据:


计时工单子示例

计时工单子示例


执行后获得的数据:

1649503121(1).jpg

下面是代码和附件,有兴趣的可以自己试试

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吾爱币 +1 热心值 +1 收起 理由
woyucheng + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zpy2 发表于 2022-4-9 20:35
用在线表单手机不香吗?
王某人 发表于 2022-4-9 20:51
zhcj66 发表于 2022-4-9 23:16
科大的思念 发表于 2022-4-10 11:18
http://36.99.39.228:9830/zhouk-qrcode/#/personal  核酸预登记,求能表格信息批量进行登记,保存二维码(文件名:姓名+身份证号)。
 楼主| hs248613 发表于 2022-4-10 13:46
科大的思念 发表于 2022-4-10 11:18
http://36.99.39.228:9830/zhouk-qrcode/#/personal  核酸预登记,求能表格信息批量进行登记,保存二维码( ...

senelium+openpyxl就可以了
 楼主| hs248613 发表于 2022-4-10 13:48
王某人 发表于 2022-4-9 20:51
单子不统一 你就尴尬了

手动统一 ,毕竟处理最基础的琐碎琐、零散的数据才 最难的,有规律的就好弄多了,除此之外就只能让别人按你模板填
 楼主| hs248613 发表于 2022-4-10 13:51
zhcj66 发表于 2022-4-9 23:16
这种代码能封装成.exe类的执行文件吗

可以的,封装好发给别人用。但前提要保证你代码考虑了各种特殊情况、或者你不考虑处理特殊情况,封装了发给别人前写好使用说明。不然还是用代码方便修改。
 楼主| hs248613 发表于 2022-4-10 17:10
科大的思念 发表于 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
(出处: 吾爱破解论坛)
用这个鼠标自动软件,也可以,网页打开放左边,表格放右边,重复复制,点击,粘贴,提交
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-12 23:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表