运用Python巧妙处理Word文档的方法详解
作者:五包辣条! 发布时间:2023-11-13 16:58:29
标签:Python,处理,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_heading('这是python写的!',0)
#操作段落文本
p = document.add_paragraph('我喜欢python,因为python可以做许多事情...')
#段落添加内容
run = p.add_run('大家也可以来学习!')
#对run内容加粗
run.bold = True
#设置run字体
run.font.size = Pt(18)
#标题级别设置
document.add_heading('我是一级标题',level=1)
#操作图片(图片所在路径)
document.add_picture('刘亦菲.png', width=Cm(5.2))
# 添加有序列表
document.add_paragraph(
'我是有序列表1', style='List Number'
)
document.add_paragraph(
'我是有序列表1', style='List Number'
)
# 添加无序列表
document.add_paragraph(
'我是无序列表1', style='List Bullet'
)
document.add_paragraph(
'我是无序列表2', style='List Bullet'
)
# 设置表格内容
records = (
('孙悟空', '男', '1111-1-1'),
('白骨精', '女', '2222-2-2')
)
# 添加表格,rows设置行 cols设置列
table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
#设置列名
hdr_cells[0].text = '姓名'
hdr_cells[1].text = '性别'
hdr_cells[2].text = '出生日期'
# 操作写入行
for name, sex, birthday in records:
row_cells = table.add_row().cells
row_cells[0].text = name
row_cells[1].text = sex
row_cells[2].text = birthday
#保存doc文档
document.save('demo.docx')
效果如下:
更多属性设置可以参考官方文档
读取操作word文档
现有文档如下:
读取代码:
from docx import Document
from docx.document import Document as Doc
#获取文档路径,循环读取内容
doc = Document('离职证明.docx') # type: Doc
for no, p in enumerate(doc.paragraphs):
print(no, p.text)
效果如下:
如果需要批量操作,则可以使用字典形式组织数据类型,比如name,start_time,end_time,job等,再使用循环写入文件即可批量生成该类文档。
来源:https://blog.csdn.net/AI19970205/article/details/124595790
0
投稿
猜你喜欢
- 一、logging模块Python中有一个模块logging,可以直接记录日志# 日志级别# CRITICAL 50# ERRO
- 1.找到python的安装路径: 如果忘记可以在Pycharm运行如下代码:import
- 开发目的这算是node应用的第二个小应用吧,主要目的是熟悉node和express框架。原理很简单:在node搭建的环境下引用第三方包处理图
- 本文实例讲述了Python安装Flask环境及简单应用。分享给大家供大家参考,具体如下:安装环境使用虚拟环境安装Flask,可以避免包的混乱
- 写在前面现在人人都有微信,一句“咱们加个微信呗”搭载了你我之间的友谊桥梁,浑然不知自己的微信朋友已经四五百了,甚至上千,几千的都有;然而那个
- 一维插值插值不同于拟合。插值函数经过样本点,拟合函数一般基于最小二乘法尽量靠近所有样本点穿过。常见插值方法有拉格朗日插值法、分段插值法、样条
- 本文实例讲述了Python面向对象程序设计。分享给大家供大家参考,具体如下:示例1:#encoding:utf-8''
- 池化层定义在tensorflow/python/layers/pooling.py.有最大值池化和均值池化。1、tf.layers.max_
- 使用程序难免会有出错的时候,如何从大篇代码中找出错误,不仅考验能力,还要考验小伙们的耐心。辛辛苦苦敲出的代码运行不出结果,非常着急是可以理解
- open(filename,mode,buffer) 其中第一个参数是要打开的文件的文件名,必选;第二个是打开方式,可选;第三个为缓冲区,可
- 首先来看一个例子,正常情况下我们定义并且实例一个类如下class Foo(object):def __init__(self):  
- 在实际开发过程中,对数据库的操作无非就“增删改查”。就最为普遍的单表操作而言,除了表和字段不同外,语句都是类似的,开发人员需要写大量类似而枯
- 问题描述:一个父容器也是window的window下的comboBox在页面中点击无效,但是在控制台中查看它的store却是有值的,问题在于
- 一、os模块os.getcwd() 获取当前的工作目录os.chdir(‘绝对路径/相对于当前工作目录的路径&r
- 1 新建类库MyTestDLL2 右击项目“MyTestDLL”-》属性-》生成-》勾选“为COM互操作注册”3 打开 AssemblyIn
- 如果不用“with”,那么Python会在何时关闭文件呢?答案是:视情况而定。Python程序员最初学到的东西里有一点就是可以通过迭代法很容
- 使用pandas处理向量化的数据,进行数据的替换时不仅仅能够进行字符串的替换也能够处理数字。做简单的示例如下:In [4]: data =
- 数据加密是一种保护数据安全的技术,通过对数据进行编码,使得未经授权的用户无法读取或改动数据。加密是通过使用加密算法和密钥实现的。加密算法是一
- 简介简介:零代码的22个小游戏集合 作者:Grant Jenks版本:2.4.0安装:D:\>pip install fre
- 想不到大家都这么喜欢用python给女朋友挑钻石,所以我又写了个续。如果看过之前一篇用python挑钻石的文章,那么可以直接从箱线图开始读。