飞道的博客

Python|读取word文档表格内容

324人阅读  评论(0)

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

引言

在日常生活里,不管是办公、学习还是制作邀请函、请柬、简历等等,我们都会使用一个软件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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场