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()
相关推荐
pingan87876 小时前
试试 docx.js 一键生成 Word 文档,效果很不错
开发语言·前端·javascript·ecmascript·word
封印师请假去地球钓鱼6 小时前
问题解决|word中单独一页设置横向
word
小小算法师8 小时前
分节符、分页符、分栏符,一次性讲明白
word
封印师请假去地球钓鱼9 小时前
问题解决|Word大纲层级混乱?在word导航窗格中调整目录缩进
word
汽车芯猿9 小时前
Word频繁崩溃?一步解决 Office 加载项冲突
word
东小黑10 小时前
一些论文word格式
word
T0uken11 小时前
【Python】docxnote:优雅的 Word 批注
开发语言·python·word
热爱生活的五柒1 天前
word中如何一键修改英文字母数字为新罗马字体Times New Roman
word·西文·times new roman
伟贤AI之路1 天前
Markdown写彩色文字+公式,MD2WD直接转Word,保留所有格式
word·markdown
bu_shuo1 天前
Mathtype的公式在word中显示不全的问题
word·学位论文·mathtype·论文格式