python之读写.docx文件实例

news2024/11/17 4:28:28

.docx文件是一种由Microsoft Word处理的二进制文件格式,取代了早期版本的.doc格式。它包含文本、图像、表格和其他文档元素,并用于Microsoft Office Word 2007及更高版本。

.docx文件通常使用Office Open XML标准(ISO/IEC 29500)进行编码,并使用ZIP存档格式进行封装。可以使用Microsoft Word或兼容的第三方应用程序打开和编辑.docx文件。

1、写入.docx文件文件

from docx import Document
from docx.shared import Pt
from docx.shared import RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

# 创建一个新的文档
doc = Document()

# 添加标题,level为标题等级
doc.add_heading('Document Title', level=0)

# 添加段落
p = doc.add_paragraph('A plain paragraph having some ')
#加粗
p.add_run('bold').bold = True
p.add_run(' and some ')
#斜体
p.add_run('italic.').italic = True
#分页
doc.add_page_break()
# 添加带有样式的段落
styled_para = doc.add_paragraph()
styled_para.add_run('This paragraph has a style.').bold = True
styled_para.alignment = WD_PARAGRAPH_ALIGNMENT.JUSTIFY

# 添加带有图片的段落
doc.add_picture(r'C:\Users\yh\Pictures\rm.png', width=Pt(120))

# 添加表格
table = doc.add_table(rows=3, cols=3)
for i in range(3):
    for j in range(3):
        table.cell(i, j).text = f'Cell {i + 1}-{j + 1}'

# 添加带有颜色的文本
pcolor=doc.add_paragraph('This text is colored.', style='IntenseQuote')
pcolor.add_run('This text is also colored and in bold.').bold = True
pcolor.add_run('This text is also colored and in italic.').italic = True
pcolor.add_run('This text is also colored and underlined.').underline = True

# 保存文档
doc.save('demo.docx')

import docx


def getText(fileName):
    doc = docx.Document(fileName)
    TextList = []
    for paragraph in doc.paragraphs:
        TextList.append(paragraph.text)

    return '\n'.join(TextList)
p1='''子曰:“学而时习之,不亦说乎?”'''
p2='''子曰:“温故而知新,可以为师。”'''
p3='''子曰:“学而不思则罔,思而不学则殆。”'''
p4='''子曰:“由,诲女知之乎!知之为知之,不知为不知,是知也”'''
doc = docx.Document()
print(len(doc.paragraphs))
doc.add_paragraph(p1)
doc.add_paragraph(p2)
doc.add_paragraph(p3)
doc.add_paragraph(p4)
doc.add_heading("论语十则",0)
doc.save(r'C:\\Users\\user\\Documents\\1.docx')
print("over!")

2、读取.docx文件

import docx
import matplotlib.pyplot as plt
import base64
import io

# 打开文档
doc = docx.Document('demo.docx')

# 遍历文档中的段落
for para in doc.paragraphs:
    # 打印段落的文本内容
    print(para.text)

# 遍历文档中的表格
for table in doc.tables:
    # 遍历表格中的行
    for row in table.rows:
        # 遍历行中的单元格
        for cell in row.cells:
            # 打印单元格的文本内容
            print(cell.text)

Document Title
A plain paragraph having some bold and some italic.


This paragraph has a style.

This text is colored.This text is also colored and in bold.This text is also colored and in italic.This text is also colored and underlined.
Cell 1-1
Cell 1-2
Cell 1-3
Cell 2-1
Cell 2-2
Cell 2-3
Cell 3-1
Cell 3-2
Cell 3-3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1025778.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python爬虫从端到端抓取网页

网页抓取和 REST API 简介 网页抓取是使用计算机程序以自动方式从网站提取和解析数据的过程。这是创建用于研究和学习的数据集的有用技术。虽然网页抓取通常涉及解析和处理 HTML 文档,但某些平台还提供 REST API 来以机器可读格式(如 JSON)检…

平面设计找素材就上这6个网站

平面设计师找素材就上这6个网站,免费下载,建议收藏! 1、菜鸟图库 https://www.sucai999.com/?vNTYxMjky 菜鸟图库是一个非常大的素材库,站内包含设计、办公、自媒体、图片、电商等各行业素材。网站还为新手设计师提供免费的素材…

使用sersync实现数据实时同步

使用sersync实现数据实时同步 sersync诞生过程部署前提配置rsync部署sersync配置sersync的path变量 修改sersync配置文件sersync常用参数使用服务文件实现开机自启动实时同步服务debug sersync诞生过程 sersync作者:前金山公司周洋(花椒直播) 数据实时同…

(leetcode)二叉树最大深度

个人主页:Lei宝啊 愿所有美好如期而遇 目录 题目: 思路: 代码: 图解: 题目: 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数…

数据挖掘十大算法

参考: ICDM:数据挖掘十大算法

go语言 实现正向代理

正向代理 我们无法访问外网 就需要VPN 这里的VPN相当于是一个代理服务器,我们将请求的数据给代理服务器,让代理帮我们转发并接收请求消息 代码 package mainimport ("fmt""io""net""net/http""strings&…

华为分布式新核心全面升级金融级PaaS能力:数字化时代“分工”再深化

文 | 螳螂观察 作者 | 李永华 金融领域一向是数字化转型升级最难啃的硬骨头,无数厂商在此深耕,但由于行业数字化需求复杂而艰深,实现深入突破的并不多,尤其是在关系到账户数据的核心系统方面,有所建树的少之又少。 …

Python日期处理库:掌握时间的艺术

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 日期和时间在计算机编程…

短剧推广和小说推文在哪里授权介绍

短剧推广和小说推文都属于很热门的赛道,都可以通过“巨量推文”进行授权 在巨量推文找到想推广的小说或者短剧后申请推广即可,小说需要有回填作品信息,短剧为全自动,出数据后实时同步到平台

Maven高级---分模块设计,继承(继承关系/版本锁定/自定义属性)

目录 分模块设计 继承与聚合 继承关系 ​案例​ 版本锁定 自定义属性/引用属性 分模块设计 把一个项目拆分成不同的模块 我们可以把原来一个项目包中的东西单独提出来作为一个模块,也是解耦的思想 然后我们可以通过引入依赖的方式将这两个模块引入,如下 继承与聚合 继…

JavaScript小案例-树形菜单(菜单数据为数组)

菜单层级理论上可以无限多&#xff0c;因为是递归渲染。 gif演示图&#xff1a; 代码&#xff1a; 树形菜单.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content&quo…

全球南方《乡村振兴战略下传统村落文化旅游设计》许少辉八一著辉少许

全球南方《乡村振兴战略下传统村落文化旅游设计》许少辉八一著辉少许

第八章 排序

一、插入排序 不带哨兵 void InsertSort(int A[], int n){int i, j, temp;for (i1; i<n; i){if (A[i]<A[i-1]){temp A[i];for (ji-1; j>0 && A[j]>temp; --j){A[j1] A[j];}A[j1] temp;}} }带哨兵 void InsertSort(int A[], int n){int i, j;for (i2;…

微信小程序 实现滑块是矩形的slider组件

我发现大多数前端UI库都是圆形的滑块&#xff0c;而且圆形的滑块都没有紧贴进度条&#xff0c;都是超出了首尾端&#xff0c;所以亲自写一个矩形的滑块&#xff0c;我使用了微信小程序的wxs的事件通信写法&#xff0c;官方说这样写好&#xff0c;也不知道好哪里了。样式如下图&…

AWS入列CNCF基金会

7月27日&#xff0c;IT之家曾经报道&#xff0c;微软加入Linux旗下CNCF基金会&#xff0c;在这之后不到一个月的今天&#xff0c;亚马逊AWS也宣布&#xff0c;以铂金身份加入此基金会。 CNCF&#xff0c;全称Cloud Native Computing Fundation&#xff0c;该基金会旨在使得容器…

Java中Hashset存储原理底层深挖

上课老师讲了Hashset的添加元素方法&#xff0c;感觉不甚准确&#xff0c;于是下课扒一扒底层源码&#xff0c;这一看&#xff0c;霍&#xff01; 原来如此。现在小丁来捋一遍他的存储原理。 public boolean add(E e) {return map.put(e, PRESENT)null;} 可以看到PRESENT是一…

HTTPS 证书生成脚本详细讲解

前言 HTTPS证书的作用是用于保障网站的安全性。在HTTPS协议中&#xff0c;通过使用证书来实现客户端与服务器之间的认证和数据加密&#xff0c;防止中间人攻击、信息泄漏等安全问题的发生。https证书也就是SSL证书&#xff0c;我们首先要确定好需要 https 安全连接的域名&…

IMX6ULL移植篇-Linux内核源码目录分析一

一. Linux内核源码目录 之前文章对 Linux内核源码的文件做了大体的了解&#xff0c;如下&#xff1a; IMX6ULL移植篇-Linux内核源码文件表_凌肖战的博客-CSDN博客 本文具体说明 Linux内核源码的一些重要文件含义。 二. Linux内核源码中重要文件分析 1. arch 目录 这个目录…

Spring的后处理器

Spring后处理器 Spring后处理器是Spring对外开放的重要拓展点&#xff08;让我们可以用添加自己的逻辑&#xff09;&#xff0c;允许我们介入到Bean的整个实例化流程中来&#xff0c;以达到动态注册BeanDefinition&#xff08;向BeanDefitionMap中添加BeanDefition对象的过程&…

【视觉SLAM入门】8. 回环检测,词袋模型,字典,感知,召回,机器学习

"见人细过 掩匿盖覆” 1. 意义2. 做法2.1 词袋模型和字典2.1.2 感知偏差和感知变异2.1.2 词袋2.1.3 字典 2.2 匹配(相似度)计算 3. 提升 前言&#xff1a; 前端提取数据&#xff0c;后端优化数据&#xff0c;但误差会累计&#xff0c;需要回环检测构建全局一致的地图&…