Python自动化办公之Word文件内容的读取

目录
  • 前言
  • 利用 python 批量读取文件
    • word利器之python-docx
    • python-docx 安装
    • python-docx 之 Document
  • python-docx 之段落内容读取
  • python-docx 之表格内容读取

前言

前面几个章节我们学习了对于普通文件的操作,比如说文件的创建、复制粘贴、裁剪粘贴、文件名的重命名、删除等等。另外还学习了一些基本练习,如何查找文件、如何按照内容查找文件等等。

在本章节及后续,将开始学习一些特殊文件的自动化相关操作。如 word、excel、PPT,虽然说是特殊文件,其实也是实际工作中我们经常会用到的文件类型。

接下来我们就进入到 word 文件自动化操作的学习内容。

该章节涉及的新模块

python-docx

pdfkit

pydocx

利用 python 批量读取文件

word利器之python-docx

python-docx 是用于创建可修改 微软 Word 的一个 python 库,提供全套的 Word 操作,是最常用的 Word 工具。

使用前,先了解几个概念:

  • Document:是一个 Word 文档 对象,不同于 VBA 中 Worksheet 的概念,Document 是独立的,打开不同的 Word 文档,就会有不同的 Document 对象,相互之间没有影响
  • Paragraph:是段落,一个 Word 文档由多个段落组成,当在文档中输入一个回车键,就会成为新的段落,输入 shift + 回车,不会分段
  • Run 表示一个节段,每个段落由多个 节段 组成,一个段落中具有相同样式的连续文本,组成一个节段,所以一个 段落 对象有个 Run 列表。

例如下图的 word 文档示意图:

word 文档结构划分如下:

python-docx 安装

安装:

pip install python-docx 如果安装速度太慢的话,可以换一个国内的源地址(如下)

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-docx

导入:

import docx
from docx import …

python-docx 之 Document

导入包与模块:

from docx import Document

使用方法:

Document(word文件地址)

返回值:

word文件对象

python-docx 之段落内容读取

实际上要想读取一个 word 文档,主要就是读取它的段落以及它的表格。无论是段落还是表格,它的内部都是字符串,我们的目的就是读取这些字符串的内容。

先看一下段落内容的读取方式:

来源:

document_obj.paragraphs 通过 document 对象的 paragraphs 函数返回一个段落的列表;如果 word 文件存在多个段落,就会有多个段落对象。

使用方法:

通过循环获取每个段落对象,并调用 text

演示案例脚本如下:

# coding:utf-8

import os
from docx import Document

path = os.path.join(os.getcwd(), 'test_file/文本.docx')
print("\'文本.docx\' 的路径为:", path)     # 调试路径

doc = Document(path)

for p in doc.paragraphs:
    print(p.text)

运行结果如下:(PS:文本只是演示,本人非培训机构的!)

python-docx 之表格内容读取

接下来我们看一下如何读取 word 文件中的表格内容:

来源:

document_obj.tables 通过 document 对象的 paragraphs 函数返回一个表格的列表;里面是一个一个的表格的对象。

使用方法:

同样通过循环,获取行与列的内容

返回值:

每个表格字段(字符串)

演示案例代码如下:

# coding:utf-8

import os
from docx import Document

path = os.path.join(os.getcwd(), 'test_file/文本.docx')
print("\'文本.docx\' 的路径为:", path)     # 调试路径

doc = Document(path)

# for p in doc.paragraphs:
#     print(p.text)

for t in doc.tables:            # for 循环获取表格对象
    for row in t.rows:          # 获取每一行
        row_str = []
        for cell in row.cells:    # 获取每一行单独的小表格,然后将其内容拼接起来;拼接完成之后再第二个for循环中打印出来
            row_str.append(cell.text)
        print(row_str)

# 也可以通过 "columns" 获取表格中的列的内容,可以自己尝试一下

运行结果如下:

到此这篇关于Python自动化办公之Word文件内容的读取的文章就介绍到这了,更多相关Python读取Word内容内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python批量对word文档进行操作步骤

    目录 导读 应用 细节介绍 导读 前面几章我们以经介绍了怎么批量对excel和ppt操作今天我们说说对word文档的批量操作 应用 python-docx允许您创建新文档以及对现有文档进行更改.实际上,它只允许您对现有文档进行更改:只是如果您从一个没有任何内容的文档开始,一开始可能会觉得您是从头开始创建一个文档. 这个特性是一个强大的特性.文档的外观很大程度上取决于删除所有内容时留下的部分.样式.页眉和页脚等内容与主要内容分开包含,允许您在起始文档中进行大量自定义,然后出现在您生成的文档中. 让

  • 运用Python巧妙处理Word文档的方法详解

    目录 工具 生成Word案例 读取操作word文档 总结 工具 python3.7 Pycharm Excel python-docx 生成Word案例 创建一个demo.doc文档,代码如下: from docx import Document from docx.shared import Cm,Pt from docx.document import Document as Doc #构建doc对象 document = Document() #操作文档标题 document.add_he

  • Python 自动化修改word的案例

    前言 利用Python docx模块,可以很方便地打开和修改Word 2007及以后的文档.本文简单地介绍了如何使用python修改word文档中的内容. 例子与代码 word文档的内容是一封表扬信,内容见下图: 表扬信.png 现在需要通过python对,"表扬信.docx"文档进行修改,需要修改的地方已在图中标记出. 1.第一个箭头处,首行缩进2字符 2.第二个箭头处,对段落进行左缩进2字符,并添加"向小z同学学习!" 3.第三个和第四个箭头处,进行右对齐,并右

  • Python实现Word的读写改操作

    目录 用 docx 模块读取 Word Word 调整样式 Word 写入操作 用 docx 模块读取 Word docx 安装 cmd 中输入pip install python-docx 即可安装 docx 模块 docx 常用函数 创建空白文档 from docx import Document document = Document() document.save("word.docx") # 生成空白 word print(document) 读取文档 from docx i

  • Python操作word文档的示例详解

    目录 写在前面 创建一个文档 先实现第一步,写入一个标题 添加文字段落 列表的添加 图片的添加 表格添加 相关样式设置 页眉和页脚 写在前面 python-docx 不支持 doc 文档,一定要注意该点,如果使用 doc 文档,需要提前将其用 Word 相关软件转换为 docx 格式. doc 和 docx 是存在本质差异的,一个是二进制,另一个 XML 格式的文件. 模块的安装 pip install python-docx . 以下网址首先准备好 官方手册:https://python-do

  • Python自动化办公之Word文件内容的读取

    目录 前言 利用 python 批量读取文件 word利器之python-docx python-docx 安装 python-docx 之 Document python-docx 之段落内容读取 python-docx 之表格内容读取 前言 前面几个章节我们学习了对于普通文件的操作,比如说文件的创建.复制粘贴.裁剪粘贴.文件名的重命名.删除等等.另外还学习了一些基本练习,如何查找文件.如何按照内容查找文件等等. 在本章节及后续,将开始学习一些特殊文件的自动化相关操作.如 word.excel

  • Python自动化办公之Word文档的创建与生成

    目录 保存生成 word 生成标题 生成段落 添加图片 添加表格 分页 上几章节我们主要学习了如何读取文章,而主要任务是读取文档中的文本信息,也就是字符串,而图片本身是不可读的文件所以并没有去读取图片.从今天开始将学习如何通过 python 脚本来自动生成一个 word 文档. 保存生成 word 在学习如何生成一个 word 文档之前,我们来看看如何保存生成 word 文件,因为马上就会用到. 使用方法: document_obj.save(文件地址) ---> /home/demo.docx

  • Python自动化办公之Word转PDF的实现

    目录 pdf 工具包 - pdfkit html 转 pdf 网址 转 pdf 字符串生成pdf 结合 pydocx 将 word 转 html 再转 pdf 该章节我们将要学习如何将 word 文件转为 PDF文件,其实网上有很多种生成 PDF 的教程,不过绝大多数都是以 windows 为主的,并且兼容有很多的问题.windows.mac.linux 同时兼容的情况比较少,所以今天的章节我们就来学习一下如何在 windows.mac.linux 三种系统中都可以生成 PDF 的解决方案. p

  • Python自动化运维_文件内容差异对比分析

    模块:difflib 安装:Python版本大于等于2.3系统自带 功能:对比文本之间的差异,而且支持输出可读性比较强的HTML文档,与Linux中的diff命令比较相似. 两个字符串的差异对比: #import difflib #text1=''' #hello world. #how are you. #nice to meet you. #''' #text1_lines=text1.splitlines() # 以行进行分割,便于进行对比 #text2=''' #Hello World.

  • Python自动化办公实战案例详解(Word、Excel、Pdf、Email邮件)

    目录 背景 实现过程 1)替换Word模板生成对应邀请函 2)将Word邀请函转化为Pdf格式 4)自动发送邮件 5)完整代码 总结 背景 想象一下,现在你有一份Word邀请函模板,然后你有一份客户列表,上面有客户的姓名.联系方式.邮箱等基本信息,然后你的老板现在需要替换邀请函模板中的姓名,然后将Word邀请函模板生成Pdf格式,之后编辑统一的邀请话术(邮件正文),再依次发送邀请函附件到客户邮箱,你会怎么做? 正常情况下,我们肯定是复制粘贴Excel表格中的客户姓名,之后挨个Word文档进行替换

  • Python自动化办公之清理重复文件详解

    目录 清理重复的文件 清理重复文件的优化 清理重复的文件 已知条件: 什么都不知道,只需要知道它是文件就可以了 实现方法: 可以从指定路径(或最上层路径)开始读取,利用 glob 读取每个文件夹,读到文件,记录名称和大小,每一次检测之前是否读取过相同名称的文件,如果存在,判断大小是否相同,如果相同,我们就认为这是重复文件,将其删除. 代码示例如下: # coding:utf-8 import glob import os.path data = {} # 定义一个空的字典,暂时将文件名存进来 d

  • Python自动化办公之创建PPT文件

    目录 PPT 的创建 python-pptx 的安装 生成一个空的 PPT python-pptx 的9种布局 从这一章开始,将进入 PPT 文件的自动化操作.关于 PPT 自动化操作所要实现的目的依然很简单.包括 “PPT的创建”.“读取PPT(不包含图片,图片是非可读对象)” 以及 “PPT” 的基本操作. 而使用到的操作 PPT 的模块就是 python-pptx 模块,我们全程就通过该模块来实现以上的内容. PPT 的创建 接下来我们就学习一下,如何利用 python-pptx 模块如何

  • python 自动化办公之批量修改文件名实操

    目录 1. 程序背景 2. 程序要求 3. 解决思路 4. 完整代码 5. 运行结果 6. 总结 1. 程序背景 之前做文件批量移动的时候不小心多加了一个pdf后缀,但问题不大,几行代码就可以搞定~ 2. 程序要求 将以下目录中文件夹中的有问题的文件全部重命名为单个.pdf结尾的文件 3. 解决思路 需要用到 os.re 和 shutil 三个库,均为系统自带,无需安装 使用 os 库得到年份的文件夹名,以及年份文件夹中的文件名 使用正则表达式 re 将“.pdf.pdf”全部替换为“.pdf”

  • python自动化办公操作PPT的实现

    1.python-pptx模块简介 使用python操作PPT,需要使用的模块就是python-pptx,下面来对该模块做一个简单的介绍.这里提前做一个说明:python操作PPT,最好是我们提前设计好自己的一套样式,然后利用进行python进行内容的获取和填充(最主要的功能!),最好是不用使用python代码操作PPT的格式,格式的修改肯定不如我们直接在PPT中修改方便. 可以创建.修改PPT(.pptx)文件 需要单独安装,不包含在Python标准模块里 python-pptx官网介绍:ht

  • Python自动化办公之群发邮件案例详解

    目录 背景 实现过程 总结 背景 想象一下,现在你有一份Word邀请函模板,然后你有一份客户列表,上面有客户的姓名.联系方式.邮箱等基本信息,然后你的老板现在需要替换邀请函模板中的姓名,然后将Word邀请函模板生成Pdf格式,之后编辑统一的邀请话术(邮件正文),再依次发送邀请函附件到客户邮箱,你会怎么做? 正常情况下,我们肯定是复制粘贴Excel表格中的客户姓名,之后挨个Word文档进行替换,之后将Word转Pdf格式,然后复制Excel表格中的邮箱进行发送编辑好的邮件正常,之后附上邀请函附件,

随机推荐