【Python-Docx库】Word与Python的完美结合

2024-03-05 1533阅读

温馨提示:这篇文章已超过381天没有更新,请注意相关的内容是否还可用!

【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的功能。

      【Python-Docx库】Word与Python的完美结合

      图片

      使用演示

      【Python-Docx库】Word与Python的完美结合

       

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

      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

      更多精彩教程欢迎B站搜索“千锋教育” 

      千锋教育Python全套视频教程,轻松掌握Excel、Word、PPT、邮件、爬虫、office办公自动化(宋如宁主讲)

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]