工作中经常要处理大量的word文档,大部分内容都很简单,比如说做一个汇总表,从发来的word文档里提取名字、联系方式、地址等信息,提取完之后还需要用Excel做汇总,对于十几份的文档尚好,但对于成百份,甚至上千份的word文档,即便只是基本的复制粘贴,这个工作量也实在是太大。
于是,想想能不能自己写一个脚本,能自动的提取word文档里的主要信息,并自动写入Excel文档。首选语言便是Python,查询知主要有以下几种方法:
1.xlrd和xlwt库(在命令行下输入pip install xlrd/xlwt安装)
2.win32首先,xlrd和xlwt只支持doc和xls文件格式,但想到docx和xlsx已经全面普及,所以直接否决掉,那么第二种方法则是直接调用offic的API进行操作,十分强大,因为在offic上能完成的操作,都能通过win32完成,所以我们选择使用win32。
这一部分,我们先来获取报名表的信息,报名表word打开之后是这样子的:

我们需要提取其中的姓名、性别、民族、学校、学历、专业、年级、政治面貌等个人信息
很明显,所有的信息都在一张table里,于是便可以很方便的运用word里的API提取信息:
代码如下:
#coding:utf-8import os
import win32com
from win32com.client import Dispatch, constants
from docx import Documentdef parse_docx(f):"""读取docx,返回姓名和行业"""d = Document(f)t = d.tables[0]t_next=d.tables[1]#title= t.cell(0,1).text//比如说标题在表格中位于(0,1)name = t.cell(1,1).text   #1Gender = t.cell(1,3).text #1Race = t.cell(1,5).text   #1School=t.cell(2,1).text   #1Edu_back=t.cell(2,4).text #1Major=t.cell(3,1).text    #1Grade=t.cell(3,4).text    #1Poli_Status=t.cell(4,1).text#1Place=t.cell(4,3).text    #15ID_card=t.cell(5,1).text  #1Date_birth=t.cell(5,4).text#1Telephone=t.cell(6,1).text#1E_mail=t.cell(6,4).text   #1QQ=t.cell(7,1).text       #1Address=t.cell(7,4).text  #1
#  Other=t_next.cell(1,1).textprint(name, Gender,Race,School,Edu_back,Major,Grade,Poli_Status,Place,Date_birth,Telephone,E_mail,QQ,Address,end='\n ')''' 上述函数主要实现文件的读取 '''
if __name__ == "__main__":w = win32com.client.Dispatch('Word.Application')# 遍历文件PATH = "E:\wordtest" # windows文件路径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) 

程序的代码看起来十分的简单,我们不作多解释,直接看结果,我们采用的IDE为PyCharm

从word文档提取信息就是这么简单,接下来一讲,我们将会将读取的信息写入一个已经存在的Excel表格,方便我们查看和管理数据。

用Python读取Word文档并写入Excel(一)相关推荐

  1. Python读取Word文档中的Excel嵌入文件

    今天群友提出一个问题: 给出Word示例如下: 对于这种嵌入文件在Word中都属于ole文件. 下面我们假设需要读取每个嵌入的Excel文件中的python工作表中的A1单元格. python调用宏实 ...

  2. python读取word文档并做简单的批量文档筛选

    python读取word文档并做简单的批量文档筛选 最近参与了一项解析大量的word文档(试验报告形式)的工作,因为其中包含着一些对项目无意义的报告,所以要进行初步地筛选,通过查阅资料发现了pytho ...

  3. python生成word文档的表格_2018-10-04 [日常]用Python读取word文档中的表格并比较

    演示如下. 两个简单的word文档, 各有一个表格: 读取文档中的表格到列表(为演示只对单列表格操作): import docx def 取表格(文件名): 文件 = docx.Document(文件 ...

  4. python读取doc文件_Linux 下Python 读取Word文档内容的方法

    如果你是在Windows下, 直接使用win32com就可以进行读取word.doc文档和写入文档了. 但是在Linux下还真是麻烦, 一种方法是用OpenOffice的一个库来进行操作,那么意味这你 ...

  5. Python读取word文档(结尾是docx)中的表格

    最近在处理一个需求时:要求读取word文档中表格,然后再把表格写入Excel中 需求非常简单,步骤也很明确,好了,不废话,直接上代码 成功写入: 所需用到的库: pip install python- ...

  6. Python读取word文档(python-docx包)

    最近想统计word文档中的一些信息,人工统计的话...三天三夜吧 python 不愧是万能语言,发现有一个包叫做 docx,非常好用,具体查看官方文档:https://python-docx.read ...

  7. Python读取Word文档段落或者表格

    Python解析word文档 1 .安装并导依赖包 2.word的doc格式转docx格式 3.解析word_doc文档段落.表格内容 4.word读取表格存列表封装优化,节省读取时间 1 .安装并导 ...

  8. python读取word文档

    周末需要做一个统计word文档字数的问题,刚开始以为很简单,因为之前做过excel表格相关的任务,所以认为利用扩展模块应该比较简单. 通过搜索,确实搜到了一个python操作word的模块,pytho ...

  9. Python读取word文档识别字段颜色,解析字段!

    python版本3.7.3,读取的文档格式为.docx 文中带有简单注释 看不懂的百度网盘下载直接查看,更改运行里面的py文件 网盘下载 Python学习交流群:1004391443 提取码:nngw ...

最新文章

  1. CSS3无前缀脚本prefixfree.js与Animatable使用
  2. 帆软finereport实现动态切换分组和列表模式
  3. vue+element+echarts柱状图+列表
  4. Spark _03RDD_Transformations_Action_使用scalajavaAPI
  5. ASP.Net Core Razor 页面路由
  6. Linux网络编程——tcp并发服务器(epoll实现)
  7. beast软件linux用法,声卡驱动设置 - 黑苹果驱动高手篇 MultiBeast用法进阶_Linux教程_Linux公社-Linux系统门户网站...
  8. excel 汇总 mysql_利用mysql收集excel录入汇总
  9. 领导力、愚狂和改变:爱因斯坦是否错了?
  10. [oracle] 设置PL/SQL Developer 字符集
  11. 深入浅出Python——Python高级语法之异常、模块、包
  12. java sqlhelper_SQLHelper 代码细节
  13. 掷骰子游戏设计(C++)
  14. 迈向智能世界2030的九大技术挑战与研究方向
  15. Millet谷仓区块链和电子商务及Token相结合的产物
  16. OpenCvSharp (C# OpenCV) OCR实现中英文识别 文字识别(附WinForm完整源码)
  17. 试问甘心从年少轻狂到一事无成吗?
  18. java 批量执行 sql_JDBC批量执行SQL
  19. 【Integrated Electronics系列——模拟电子技术基础】
  20. 控制哈威HAWE多路阀放大器US-DAT2

热门文章

  1. app安全测试和H5测试
  2. 2014 西安邀请赛状压DP
  3. TCGA数据库ceRNA网络构建(三)ceRNA网络构建
  4. 车牌识别SDK,解决多行业全方位方案
  5. 《阿甘正传》的经典台词以及一些幕后故事
  6. 学而时习之,不亦乐乎
  7. python 结束进程 terminate_【Python】multiprocessing.Process.terminate()结束子进程将导致子进程无法执行finally块,如何解决?...
  8. Kubernetes Dashboard集成Heapster
  9. Web.config 无法识别的配置节 connectionStrings
  10. 空间数据存储格式wkb和wkt(转载)