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()
相关推荐
CodeCraft Studio1 天前
国产化Word处理控件Spire.Doc教程:通过C# 删除 Word 文档中的超链接
开发语言·c#·word
小小Ruby1 天前
利用vba替换word中多个表格,相邻单元格的文字
word
T0uken2 天前
【前端】:单 HTML 去除 Word 批注
前端·html·word
诸葛大钢铁3 天前
WORD压缩两个免费方法
word
KingCruel3 天前
NPOI 操作 Word 文档
word
小可的科研日常3 天前
保持Word中插入图片的清晰度
word
小码ssim3 天前
通过POI实现对word基于书签的内容替换、删除、插入
java·word
一把年纪学编程4 天前
【牛马技巧】word统计每一段的字数接近“字数统计”
前端·数据库·word
爱吃零食的白糖4 天前
word换行符和段落标记
word
Etincelle5 天前
【LaTeX】Word插入LaTeX行间公式如何编号和对齐
word·wps·latex