'''
使用的包:python-docx
安装方式:conda install -c conda-forge python-docx
帮助文档:https://python-docx.readthedocs.io/en/latest/index.html#
'''
import docx
# import os
from docx import Document# 1、路径出现的问题特别多,可以参考下方的程序检验路径
# 2、文件名称好像不能是中文
doc_file = '/Users/matthewfan/Documents/123.docx'
document = Document(doc_file)tables = document.tables # 获取文档中的所有表格
table = tables[0] # 提取文档中的第一个表格,测试文档中仅有一个表格lo = {} # 存储每一行去重后的数据
for row in range(0, len(table.rows)):row_list = []for col in range(0,len(table.row_cells(row))):  # 提取row行的全部列数据row_list.append(table.cell(row,col).text.replace('\n','').replace(' ', '')) # 去除字符串中的特殊字符,并添加到临时列表中lo[row] = (sorted(set(row_list), key = row_list.index)) # 在不变顺序的前提下,去除List中的重复项# 打印出每行的数据观察相关格式特征print(row, ":len(", len(lo[row]),'):',lo[row])

输出结果:

(1)可以通过数据的长度进行类型名与内容的区分

(2)可以通过配置文件进行类型的归类,提高docx文件变化而引起的开发量(暂不提供处理代码)

0 :len( 7 ): ['姓名', '***', '性别', '男', '出生日期(岁)', '1978.11(41岁)', '']
1 :len( 6 ): ['民族', '汉族', '籍贯', '天津', '出生地', '']
2 :len( 7 ): ['入党时间', '2000.06', '工作时间', '1990.07', '健康状况', '良好', '']
3 :len( 4 ): ['职称', '高级工程师', '熟悉专业有何专长', '']
4 :len( 5 ): ['学历学位', '全日制教育', '大学学士', '毕业院校及专业', '重庆大学电力系统及其自动化']
5 :len( 4 ): ['学历学位', '在职教育', '', '毕业院校及专业']
6 :len( 2 ): ['现任职务', '西太平洋机甲公司***部副主任']
7 :len( 3 ): ['工作及学习简历', '1986.09-1990.07', '重庆大学电力系统及其自动化专业学习,获得大学学历,工学学']
8 :len( 3 ): ['工作及学习简历', '', '士学位']
9 :len( 3 ): ['工作及学习简历', '1990.07-1997.06', '西太平洋机甲公司*********技术员']
10 :len( 3 ): ['工作及学习简历', '1997.06-2001.07', '西太平洋机甲公司*********班班长']
11 :len( 3 ): ['工作及学习简历', '2001.07-2002.07', '西太平洋机甲公司*********副主任']
12 :len( 3 ): ['工作及学习简历', '2002.07-2005.04', '西太平洋机甲公司***']
13 :len( 3 ): ['工作及学习简历', '2005.04-2009.02', '西太平洋机甲公司***']
14 :len( 3 ): ['工作及学习简历', '2009.02-2012.02', '西太平洋机甲公司***部***处长']
15 :len( 3 ): ['工作及学习简历', '2012.02-2013.05', '西太平洋机甲公司***部***处长']
16 :len( 3 ): ['工作及学习简历', '2013.05-2016.08', '西太平洋机甲公司*********处处长']
17 :len( 3 ): ['工作及学习简历', '2016.08-2019.05', '西太平洋机甲公司*********处处长']
18 :len( 3 ): ['工作及学习简历', '2019.05-', '西太平洋机甲公司***部副主任']
19 :len( 2 ): ['工作及学习简历', '']
20 :len( 2 ): ['工作及学习简历', '']
21 :len( 2 ): ['工作及学习简历', '']
22 :len( 2 ): ['工作及学习简历', '']
23 :len( 2 ): ['工作及学习简历', '']
24 :len( 2 ): ['工作及学习简历', '']
25 :len( 2 ): ['工作及学习简历', '']
26 :len( 2 ): ['工作及学习简历', '']
27 :len( 2 ): ['工作及学习简历', '']
28 :len( 2 ): ['工作及学习简历', '']
29 :len( 2 ): ['工作及学习简历', '']
30 :len( 2 ): ['工作及学习简历', '']
31 :len( 2 ): ['工作及学习简历', '']
32 :len( 2 ): ['工作及学习简历', '']
33 :len( 6 ): ['家庭主要成员及重要社会关系', '称谓', '姓名', '年龄', '政治面貌', '工作单位及职务']
34 :len( 6 ): ['家庭主要成员及重要社会关系', '妻子', '***', '49', '群众', '西太平洋机甲公司***']
35 :len( 6 ): ['家庭主要成员及重要社会关系', '女儿', '***', '25', '群众', '无业']
36 :len( 6 ): ['家庭主要成员及重要社会关系', '父亲', '***', '75', '群众', '银河系联席会***']
37 :len( 6 ): ['家庭主要成员及重要社会关系', '母亲', '***', '75', '群众', '火星联邦议会***']
38 :len( 2 ): ['家庭主要成员及重要社会关系', '']
39 :len( 2 ): ['家庭主要成员及重要社会关系', '']

样例word文件格式:

Python小技巧:提取docx文件中表格相关推荐

  1. 【Python项目实战】提取.docx文件中的图片并保存到指定的文件夹

    文章目录 一.需求分析 二.系统设计 2.1系统业务流程 2.2系统预览 三.系统开发必备 3.1 系统开发环境 3.2文件组织结构 四.主函数设计 1.创建窗口 2.创建按钮 3.创建输入框 五.函 ...

  2. Python办公自动化——提取pdf文件中表格并到Excel

    Python办公自动化--提取pdf文件中表格合并到Excel 需求描述 现有一 pdf 文件内容如下,文件中内容主要是表格形式的获奖名单,共158页.现要读取这些表格信息并保存到 excel 文件中 ...

  3. linux 文件转换ascii,linux 小技巧(查找替换文件中的ascii编码字符)

    这里纪录一些linux下用到的小技巧,以免遗忘 在linux中经常碰见各种文件处理.最常用的就是替换文件中的某些字符.常见字符替换还是很容易完成.但是有些不可见字符以及ascii编码字符等等都无法直接 ...

  4. Python使用pdfminer3k提取PDF文件中的文本

    推荐教材: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2021年12月第11次印刷,山东省一流 ...

  5. Python实现Excel与Word文件中表格数据的导入导出

    封面图片:<Python程序设计实验指导书>(ISBN:9787302525790),董付国,清华大学出版社 图书详情(京东): ============= 问题描述:Excel文件&qu ...

  6. python小技巧:获取字典中值最大者的key

    应用场景 在排八字的时候,丑由"辛","癸", "己"构成,分值分别为1,2,5.现在我们需要获取其中分值最大的键. >>> ...

  7. python小技巧:获取字典中值最大者的key 1

    应用场景 在排八字的时候,丑由"辛","癸", "己"构成,分值分别为1,2,5.现在我们需要获取其中分值最大的键. >>> ...

  8. python win32转pdf 横版_Python 小技巧之 Office 文件转 PDF

    文章来源于公众号:Python技术 作者:派森酱 在日常的生活工作中,难免需要用到一些 小Tip 来解决工作中遇到的小难题,今天的文章给大家安利一个方便快捷的小技巧,将 Office(doc/docx ...

  9. python提取pdf表格数据_Python骚操作,提取pdf文件中的表格数据!

    在实际研究中,我们经常需要获取大量数据,而这些数据很大一部分以pdf表格的形式呈现,如公司年报.发行上市公告等.面对如此多的数据表格,采用手工复制黏贴的方式显然并不可取.那么如何才能高效提取出pdf文 ...

最新文章

  1. 文件 单片机_单片机C语言编程中reg52.h头文件的作用
  2. 【转】【CUBE】Oracle分组函数之CUBE魅力
  3. 如何确定电脑主板坏了_光纤收发器容易坏吗?如何判断光纤收发器的故障?
  4. VTK:可视化之HedgeHog
  5. Spring Boot中的@SpringBootConfiguration注释
  6. mysql 5.7 启动脚本_MySQL数据库 5.7 启动脚本
  7. 玩转oracle 11g(46):图解oracle数据库
  8. P1614 爱与愁的心痛(python3实现)
  9. 解决Ubuntu make 命令 sudo: make: command not found
  10. mysql 去重后拼接_mysql学习笔记(三)—— 查询select
  11. OpenCV自动内存管理
  12. MFC总结之CListCtrl用法及技巧
  13. 如何把Mysql卸载干净?(亲测有效)
  14. 最好的网盘--主流网盘大比拼
  15. 微信小程序源码分享合集-1
  16. 高等代数--双线性空间与辛空间
  17. linux查看进程家族树,3.1.6 进程家族树
  18. windows内核开发学习笔记十五:IRP结构
  19. [ 大数据分析 ] 大数据分析与处理方法介绍
  20. 人生若只如初见 z-x-l [我的故事和写过的诗]

热门文章

  1. 渗透测试 | 几款常用的CMS识别「Web指纹识别」扫描脚本工具(含下载地址)
  2. python换零钱_黄哥Python, 贪心算法解决换零钱问题
  3. 安装cartographer时遇到编译问题
  4. 打开微信键盘自动弹出_微信打开输入法的时候乱跳是怎么回事?什么原因呢?
  5. iphone时间的操作,两个日期之间的天数。
  6. 全新 – Amazon EC2 R6a 实例由第三代 AMD EPYC 处理器提供支持,适用于内存密集型工作负载
  7. 计算机技术与生活PPT,电子计算机与多媒体教学课件
  8. java 名字的漂亮度_名字的漂亮度
  9. jenkins构建maven项目:找不到依赖库的解决办法
  10. 如何快速的发表论文?推荐一个很好发表论文的期刊