Python

发布时间:2024-12-11 13:33

今天给大家分享Python处理Word的第三方库:Python-Docx。


什么是Python-Docx?

Python-Docx是用于创建和更新Microsoft Word(.docx)文件的Python库。

日常需要经常处理Word文档,用Python的免费第三方包:Python-Docx处理docx十分方便。


而且这个包和pandas包结合使用,可以在word插入excel表格,节省了很多复制、粘贴、调整表格样式的时间,真的很方便!

但是要注意:Python-Docx只能处理docx、docx、docx文件!

下面给大家介绍一下如何使用Python-Docx吧,抛砖引玉~

安装

由于 python-docx 已经提交给 PyPI 仓库,所以可以使用 pip 安装,如下:

pip install python-docx

如果同时安装了 python2 和 python3 那么 pip 可能不能用,可以使用 pip3 来安装,如下:

pip3 install python-docx
文档下载

Python-Docx的官网提供了使用文档:该文档说明了如何使用Python-Docx的所有功能,并包含完整的API参考。在下载中包含的示例中也很好地展示了Python-Docx的功能。


图片 使用演示


这里直接用代码给大家演示,如何生成上图所示的文档,内容包含:

导入python-docx库

新建wrod文档、一级、二级、三级标题、自然段

设置字体格式

在指定位置添加图片

在指定位置添加表格

文档另存为

以下代码可以左右滑动,也可以直接复制粘贴哟~!# 1、导入python-docx库


from docx import Document
from docx.shared import Inches

document = Document()
document.add_heading('Document Title', 0)

# 2、新建wrod文档、一级、二级、三级标题、自然段


p = document.add_paragraph('A plain paragraph having some ')

# 3、设置字体格式


p.add_run('bold').bold = True
p.add_run(' and some ')
p.add_run('italic.').italic = True

document.add_heading('Heading, level 1', level=1)
document.add_paragraph('Intense quote', style='Intense Quote')

document.add_paragraph('first item in unordered list', style='List Bullet')
document.add_paragraph('first item in ordered list', style='List Number')

# 4、在指定位置添加图片


document.add_picture('monty-truth.png', width=Inches(1.25))

records = (
(3, '101', 'Spam'),
(7, '422', 'Eggs'),
(4, '631', 'Spam, spam, eggs, and spam')
)

# 5、在指定位置添加表格


table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
for qty, id, desc in records:
row_cells = table.add_row().cells
row_cells[0].text = str(qty)
row_cells[1].text = id
row_cells[2].text = desc

document.add_page_break()

# 6、文档另存为


document.save('demo.docx')
其他资源

可以在Python-Docx的GitHub页面上找到更多示例代码。

https://github.com/python-openxml/python-docx

仅用于传递和分享更多信息,并不代表本平台赞同其观点和对其真实性负责,版权归原作者所有,如有侵权请联系我们删除。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

网址:Python http://c.mxgxt.com/news/view/153928

相关内容

python中if
手把手教你用几行Python和消费数据做客户细分
在线编程 IDE = 远程网络攻击?
简历(赖明星)
深圳读书出去的文体明星
周杰伦新专辑上线 总销售额破亿!QQ音乐赚翻了
普通高中新课改管理系统的设计与实现
好莱坞卷发:自己动手做明星发型
澎湃新闻社论:短视频时代,我们为何还要读书
如何用数据中台,做一套关于明星的舆情分析系统?

随便看看