python操作word-基础

创建word文档

安装

pip install python-docx

创建word文档

python 复制代码
from docx import Document

# 创建word文档
doc1 = Document()
# 保存文档
doc1.save('./创建word文档.docx')

打开文档

python 复制代码
doc1 = Document('./文档.docx')
# 保存文档
doc1.save('./文档.docx')

编写内容

标题

python 复制代码
doc1.add_paragraph('欢迎使用Python创建Word', style='Title')
doc1.add_heading('欢迎使用Python创建Word', 0)
doc1.add_heading('Python操作 增加1级标题', 1)
doc1.add_heading('Python操作 增加2级标题', 2)

段落

python 复制代码
# 段落
par1 = doc1.add_paragraph('在如今信息爆炸的时代,高效的办公自动化成为提高工作效率的必要手段。')
# 段落后面追加内容
par1.add_run('现在就开始学习Word办公自动化,让您的工作更加高效、专业和出色')

列表 - 无序

python 复制代码
doc1.add_paragraph('java', style='List Bullet')
doc1.add_paragraph('js', style='List Bullet')
doc1.add_paragraph('python', style='List Bullet')
doc1.add_paragraph('lua', style='List Bullet')
doc1.add_paragraph('c++', style='List Bullet')

列表 - 有序

python 复制代码
doc1.add_paragraph('Python', style='List Number')
doc1.add_paragraph('HTML', style='List Number')
doc1.add_paragraph('JS', style='List Number')
doc1.add_paragraph('Flask', style='List Number')

引用

python 复制代码
doc1.add_paragraph('这个是一个引用内容', style='Intense Quote')

图片

python 复制代码
# 图片
pic = doc1.add_picture('./bg.jpg')
# 获取文档的宽度
page_width = doc1.sections[0].page_width
# 获取文档的左边距
page_left_width = doc1.sections[0].left_margin
# 获取中间内容的宽度
content_width = page_width - page_left_width * 2
# 获取图片应该缩小的比例(如果图片或者页面宽度值太高,有可能程序无法计算,可以考虑同时缩小几倍)
sc = (content_width / 100) / (pic.width / 100)
# 修改图片的宽、高
pic.width = int(pic.width * sc)
pic.height = int(pic.height * sc)

表格

python 复制代码
# 增加表格
table = doc1.add_table(rows=1, cols=3)
# 设置表格的边框样式
table.style = 'Table Grid'
# 设置表格字段
cells = table.rows[0].cells
cells[0].text = '编号'
cells[1].text = '姓名'
cells[2].text = '职业'
# 表格数据
data = (
    (1, '吕小布', '将军'),
    (2, '诸葛亮', '军事'),
    (3, '刘备', '主攻'),
)
# 添加数据
for i, n, w in data:
    tmp_cell = table.add_row().cells
    tmp_cell[0].text = str(i)
    tmp_cell[1].text = n
    tmp_cell[2].text = w

读取文档

python 复制代码
from docx import Document

# 打开文档
doc1 = Document('./文档.docx')
# 读取数据-段落
for p in doc1.paragraphs:
    print(p.text)
# 读取表格
for t in doc1.tables:
    for row in t.rows:
        for c in row.cells:
            print(c.text, end=' ')
        print()
相关推荐
旭东怪12 小时前
EasyPoi 使用$fe:模板语法生成Word动态行
java·前端·word
雕刻刀1 天前
Latex 转换为 Word(使用GrindEQ )(英文转中文,毕业论文)
word
觅远2 天前
python实现word转html
python·html·word
养个小橘猫2 天前
Word使用分隔符实现页面部分分栏
word
SEO-狼术2 天前
Document Solutions for Word CRACK
word
m0_748237153 天前
前端:纯前端快速实现html导出word和pdf
前端·html·word
m0_748246873 天前
前端实现读取word文件,并将其进行原样式展示的几种方案
前端·word
不坑老师3 天前
不坑盒子2024.1218更新了,模板库上线、一键添加拼音、一键翻译……支持Word、Excel、PPT、WPS
microsoft·word·powerpoint·excel·wps
想太多会累i3 天前
kkfileview代理配置,Vue对接kkfileview实现图片word、excel、pdf预览
vue.js·word·excel