本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
引言
在日常生活里,不管是办公、学习还是制作邀请函、请柬、简历等等,我们都会使用一个软件Microsoft Office Word,Office Word是微软公司的一个收费文字处理应用程序,是最流行的文字处理程序之一,它虽功能强大,但简学易懂,但同时也有一个缺点,当一个Word文档储存的内容特别庞大的时候,使用者想要提取自己想要的表格内容,非常困难,需要使用特别多的步骤,非常繁琐,但是今天python能够解决其中的困难,是其变得非常简便。
问题描述
既然通过python提取word文档内容,这里需要了解一个python第三方库---python-docx库,docx库的基本用法详细查看官方文档: https://python-docx.readthedocs.org/en/latest/
在这里将要学习到的便是提取表格内容的具体步骤。
python-docx库的下载(Windows):pipinstall python-docx
解决方案
代码清单docx库的代码运用Python代码:
import docx fn = r'E:\出师表.docx' doc = docx.Document(fn) 库的代码运用 1、按段落读取全部数据 for paragraph in doc.paragraphs: print(paragraph.text) 2、按表格读取全部数据 for table in doc.tables: for row in table.rows: for cell in row.cells: print(cell.text) table_num = len(doc.tables) 3、获取文档的表格个数 print(table_num)
table_0 = doc.tables[0] 4、选取第一个表 table_rows = len(table_0.rows) 5、获取第一个表的行数 print(table_rows) tab = doc.tables[0].rows[0].cells[0] |
下面将会具体运用一个示例来讲解,同时将会把所提取到的word表格内容转化进人另一个word表格内容中(当然也可以转化到一个文本文档中。)
示例:出师表Python代码:
import docx from docx import Document # 创建 Document 对象,相当于打开一个 word 文档 document = Document() #所要提取相关内容文档的路径 fn = r'E:\出师表.docx' doc = docx.Document(fn) #设置一个标题(出师表的表格内容) document.add_heading('出师表的表格内容', level=0) for i in range(len(doc.tables)): tab =doc.tables[i].rows[0].cells[0] p_1= document.add_paragraph(tab.text) document.save('出师表的表格内容.docx') |
运行结果:
所要提取的word文档目标:
最终提取到的内容结果: |
结语
Python最大的优势之一就是其拥有数不胜数的第三方库,这里讲解的提取word文档表格内容只是冰山一角,但它能让使用者所收获到的价值是非凡的,无可替代的,当然小编也希望所写的内容有助于读者解决一些小问题。
实习编辑:王晓姣
稿件来源:深度学习与文旅应用实验室(DLETA)
转载:https://blog.csdn.net/gschen_cn/article/details/114811601