Python-Docx:Word与Python的完美结合

今天给大家分享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的功能。

图片

使用演示


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

  1. 导入python-docx库
  2. 新建wrod文档、一级、二级、三级标题、自然段
  3. 设置字体格式
  4. 在指定位置添加图片
  5. 在指定位置添加表格
  6. 文档另存为

以下代码👉可以左右滑动,👉也可以直接复制粘贴哟~!

# 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

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

可能是全网最全的速查表:Python Numpy Pandas Matplotlib 机器学习 ChatGPT等
ChatGPT 系列研究报告(50个PDF),建了一个资料分享微信群
搭建完美的技术写作环境,第1-8章
数据分析入门:统计学基础知识总结

相关推荐

  • 看论文神器,一键翻译,体验很爽
  • 中国永远不会倒闭的四个行业
  • SpringBoot 动态加载 jar 包,动态配置方案
  • 每个开发者都应该知道的30个 Linux 命令
  • 炫技Groovy!SpringBoot中的动态编程实战
  • 9.5k star,一款高颜值、现代化的 Git 可视化管理工具
  • Windows 远程不要再用 mstsc 了,这款开源工具更好用!
  • 一套万能通用的异步处理方案
  • 关于虚拟DOM(面试必看)
  • 面试官:如何判断两个数组的内容是否相等
  • 融合ChatGPT+DALL·E 3,贾佳亚团队新作开源畅玩:识图推理生图一站解决
  • 扩散模型的原理及实现(Pytorch)
  • “小同学”如何在大公司里快速落地?
  • 40岁,阿里P9,狗日的2023年
  • Vue3 超前版发布三个新特性!有望全面拥抱 JSX/TSX!
  • AI音乐,8大变现方式——Suno:音乐版的ChatGPT - 第505篇
  • 五年沉淀,微信全平台终端数据库WCDB迎来重大升级!
  • 这个ChatGPT4.0,真好用!
  • 一周涨 15k Star 的开源项目「GitHub 热点速览」
  • 面试官:为什么HashMap 使用的时候指定容量?