读取docx文件并读出相应信息

近期收集报名表,并将报名表的信息汇总。
令人难受的是,这些报名表都是 word 文档,几百份一个个复制下来真的费时费力(虽然可以看看姑娘们的靓照)。

那么,我们是否能用 python 实现这一功能呢?只会 pandas 这个库的我经过一下午的奋战,稍微了解了下相关的库。

首先,根据网上的信息,稀里糊涂地就导入了几个库。

import win32com
from win32com.client import Dispatch
from docx import Document
from openpyxl import Workbook

然后,我们定义一个可以读取 word 函数,同时让其变成 excel 的文件。

def parse_docx(f):
  d = Document(f)
  t = d.tables[0]
  name = t.cell(0,2).text  # 比如说标题在表格中位于(0,2)
  place1 = t.cell(1,2).text   # 籍贯
  gender = t.cell(0,10).text  # 性别
  print(name, gender, place1, end='n/')
  list = [name, gender, place1]
  workbook = Workbook()
  booksheet = workbook.active
  booksheet.append(list)
  workbook.save(f.split('.')[0] + '.xlsx')

最后,我们把这个函数放入一个循环中遍历整个文件夹。

if __name__ == "__main__":
  w = win32com.client.Dispatch('Word.Application')

  # 遍历文件
  PATH = "python\word_to_excel\data_try"  # path:文件路径
  doc_files = os.listdir(PATH)
  for doc in doc_files:
    if os.path.splitext(doc)[1] == '.docx':
      try:
        parse_docx(PATH+'\\'+doc)
      except Exception as e:
        print(e)

这样下来,我们就可以轻轻松松将几百份报名表的信息放到汇总表里面了,只不过方法仅限于各个报名表制式一样,如果哪个报名表多打几个空格就可能在读取信息时读错位置。

如何使用Python合并多个excel文件或者sheet?
还没学会,知乎这个链接里面有怎么合并的代码,但是我用的时候没有权限打开文件夹。


以上是在杨幽科技学到的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值