当前位置: 首页 > news >正文

使用 python-docx 库操作 word 文档(3):读取word文档的内容

使用 python-docx 库操作 word 文档(3):读取word文档的内容

目录

  • 使用 python-docx 库操作 word 文档(3):读取word文档的内容
    • 一、读取段落信息
    • 二、读取块信息
    • 三、读取表格信息
    • 四、使用模板生成文档

如果需要读取word文档的内容,可以通过相关的变量读取段落、块、表格、行、单元格等信息。

一、读取段落信息

使用doc.paragraphs属性返回所有段落的列表。使用paragraph.text获取段落的内容。

程序代码如下:

from docx import Documentdoc1 = Document(r"D:\0工作文档\typora文档\word\test.docx")  # 创建word文档
print(len(doc1.paragraphs))
print(doc1.paragraphs[0].text)
print(doc1.paragraphs[1].text)程序的运行结果为:
379
一、绪论
(一)课题背景

二、读取块信息

使用paragraph.runs属性返回段落中所有块的列表。使用run.text获取块的内容。

程序代码如下:

from docx import Documentdoc1 = Document(r"D:\0工作文档\typora文档\word\test.docx")  # 创建word文档
p=doc1.paragraphs[2]
print(p.text)
runs=p.runs
print(len(runs))
for run in runs:print(run.text)程序的运行结果为:
随着全球化进程的加速,我国的旅游产业正在持续优化升级,各地也正在着力推动我国向世界旅游强国迈进。在景区管理领域,数字化与智能化转型已经成为了提升运营效能的关键方法。通过构建智慧票务体系,不仅可以优化服务的流程,也能够实现提高管理模式的标准化与人性化。根据相关的研究表明,数字化管理手段能够提升景区科学决策,有效促进服务品质和品牌价值的双重提升。
38
随着全球
化进程
的
加速,我国
的
旅游产业
正在
持
续优化升
级,各地
也
正
在
着力推动我国向世界旅游强国迈进。在景区管理领域,数字化与智能化转型已
经
成为
了
提升运营效能的关键
方法
。通过构建智慧票
务体系,不仅
可以
优化服务
的
流程,
也能够
实现
提高
管理模式的标准化与人性化
。
根据
相关
的
研究表明,数字化管理手段
能够
提升景区科学决策,有效促进服务品质
和
品牌价值的双重提升。

三、读取表格信息

使用doc.tables属性返回文档中所有表格的列表。使用run.text获取块的内容。

程序代码如下:

from docx import Documentdoc1 = Document(r"D:\0工作文档\typora文档\word\test.docx")  # 创建word文档
t=doc1.tables
print("表格数量:",len(t))  # 返回文档中表格的数量
t1=t[0]  # 返回第一个表格
print("第一个表格的行数:",len(t1.rows))  # 返回第一个表格的行数
print("=="*20)
print("==============按行显示表格内容:=================")
print("=="*20)
for row in t1.rows:for cell in row.cells:print(cell.text, end=' ')print("")print("第一个表格的列数:",len(t1.columns))  # 返回第一个表格的列数
print("=="*20)
print("==============按行列显示表格内容:=================")
print("=="*20)
for column in t1.columns:for cell in column.cells:print(cell.text, end=' ')print("")  程序的运行结果为:
表格数量: 11
第一个表格的行数: 7
========================================
==============按行显示表格内容:=================
========================================
字段名称 数据类型 备注 说明 
visitor_id CHAR(36) 游客ID 主键 
name VARCHAR(50) 姓名  
id_card CHAR(18) 身份证号 (加密存储)  
phone VARCHAR(20) 手机号  
auth_status TINYINT(1) 实名认证状态 (0未认证/1已认证)  
created_at DATETIME 注册时间  
第一个表格的列数: 4
========================================
==============按行列显示表格内容:=================
========================================
字段名称 visitor_id name id_card phone auth_status created_at 
数据类型 CHAR(36) VARCHAR(50) CHAR(18) VARCHAR(20) TINYINT(1) DATETIME 
备注 游客ID 姓名 身份证号 (加密存储) 手机号 实名认证状态 (0未认证/1已认证) 注册时间 
说明 主键      

四、使用模板生成文档

例如:需要生成如下图所示的学生成绩通知单(每个学生生成一份)。

在这里插入图片描述

程序代码如下:

from docx import Documentdef create_score(d):doc1 = Document()  # 创建word文档doc1.add_heading(f'{d[1]}成绩通知单',0)  # 添加标题t=doc1.add_table(1,6)   # 添加表格,1行6列row=t.rows[0]   # 设置表格第一行每个单元格内容row.cells[0].text = "学号"row.cells[1].text = "姓名"row.cells[2].text = "语文"row.cells[3].text = "数学"row.cells[4].text = "英语"row.cells[5].text = "班级"row=t.add_row()  # 添加一行,并设置每个单元格内容row.cells[0].text = d[0]row.cells[1].text = d[1]row.cells[2].text = str(d[2])row.cells[3].text = str(d[3])row.cells[4].text = str(d[4])row.cells[5].text = d[5]doc1.save(f"D:/0工作文档/typora文档/word/score_{d[1]}.docx") # 保存为单个文件if __name__ == '__main__':data = [('100001', '李刚', 80, 98, 85, '八年级二班'),('100002', '张洪涛', 95, 66, 92, '八年级二班'),('100003', '张静静', 77, 78, 94, '八年级二班'),('100004', '李晓红', 68, 84, 74, '八年级二班'),('100005', '王大光', 91, 97, 93, '八年级二班'),('100006', '李珍珍', 87, 78, 79, '八年级二班')]for d in data:create_score(d)

程序的执行结果如下图所示:

在这里插入图片描述

http://www.dtcms.com/a/466746.html

相关文章:

  • 鸿蒙:从相册中选取图片,并转成PixelMap作为UI显示
  • 什么是网站什么是网址东莞网站设计服务商
  • STM32 读取引脚状态 -按键输入
  • 关于网站建设分类名字logo设计在线生成免费
  • 网站的二级网页关键词在线一键生成网页
  • 深圳夫博网站建设有限公司深夜的fm免费看
  • MySQL学习笔记09:MySQL高级特性深度学习(上):count函数、数据类型与分库分表核心原理
  • 失智老年人照护实训室建设指南:从意义到实践的全面解析
  • 10分钟上手OpenAI Agents SDK
  • 中文分析原始
  • JP4-8-MyLesson前台前端(二)
  • 做js题目的网站上海网站建设公司推荐排名
  • 网站建设效益分析代运营合同模板
  • 京东商品关键字搜索接口深度开发:从精准检索到商业机会挖掘的技术实现
  • 怎么看网站开发的发展wordpress能开发app
  • 项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
  • 统一高效图像生成与编辑!百度新加坡国立提出Query-Kontext,多项任务“反杀”专用模型
  • 网站建设要那些东西适合个人开店的外贸平台
  • window安装wsl
  • 命题逻辑基础,形式系统,定理证明(二)
  • 如何利用数字源表进行纳米材料电特性表征?
  • 网络层协议之ICMP协议
  • 怎样做自己的网站钻钱宁波seo怎么选
  • skynet debug_console控制台中debug指令使用
  • 做棋盘游戏辅助的网站python和php做网站
  • 如何查看局域网内IP冲突问题?如何查看局域网IP环绕问题?arp -a命令如何使用?
  • 网站建设成都市南京做网站公司哪家好
  • 做电影视频网站赚钱嘛网站制作公司杭州
  • 建站平台哪个最好网站建设需要什么技术
  • 网页制作与网站建设实战大全pdf做网站的分辨率要多大