• 【NLP】python-docx库简介


            python-docx是一个word稳定读取、创建、编辑报错的Python 库,注意仅支持Microsoft Word 2007+ (.docx) 文件。

    目录

    🍓🍓安装

    🍓🍓应用举例

    🔔🔔python代码1

    🔔🔔输出1

    🔔🔔python代码2

    🔔🔔输出2

    🍓🍓demo应用

    ⭐⭐创建文档

    ⭐⭐创建标题

    ⭐⭐添加一段文字

    ⭐⭐设置字体加粗

    ⭐⭐设置字体倾斜

    ⭐⭐添加一级标题

    ⭐⭐增加引用

    ⭐⭐增加无序列表

    ⭐⭐增加有序列表

    ⭐⭐添加图片

    ⭐⭐添加表格

    ⭐⭐设置表格行列内容

    ⭐⭐添加分页符

    ⭐⭐保存word文档

    🍓🍓完整代码 


    🍓🍓安装

    pip install python-docx
    

    🍓🍓应用举例

            需求:创建一个word文档,并添加一段文字“It was a dark and stormy night.”,保存该文档到dark-and-stormy.docx文件中

    🔔🔔python代码1

    1. from docx import Document
    2. document = Document()
    3. document.add_paragraph("It was a dark and stormy night.")
    4. print(document)

    🔔🔔输出1

    
    

            


            需求:读取文档dark-and-stormy.docx,读取文档第一段的文字内容,并输出打印。

    🔔🔔python代码2

    1. document.save("dark-and-stormy.docx")
    2. document = Document("dark-and-stormy.docx")
    3. print(document.paragraphs[0].text)

    🔔🔔输出2

    'It was a dark and stormy night.'

    🍓🍓demo应用

    功能包含:

    • ⭐⭐创建文档

    1. from docx import Document
    2. from docx.shared import Inches
    3. document = Document()
    • ⭐⭐创建标题

             'Document Title'表示标题内容,0代表级别。

    document.add_heading('Document Title', 0)
    • ⭐⭐添加一段文字

            “A plain paragraph having some ”为添加文字内容,从add_paragraph是指另起一段添加文字,add_run是在目前段落后添加文字,不会另起段落,此处要注意。还可能通过add_run('\n')进行段内换行,也一定要留意。

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

            .bold=True表示文字加粗,反之False为不加粗

    p.add_run('bold').bold = True
    • ⭐⭐设置字体倾斜

            .italic = True表示文字倾斜,反之False为不倾斜 

    p.add_run('italic.').italic = True
    • ⭐⭐添加一级标题

              'Heading, level 1'表示标题内容,1代表标题级别。

    document.add_heading('Heading, level 1', level=1)
    
    • ⭐⭐增加引用

             'Intense quote'表示引用内容,style表示引用

    document.add_paragraph('Intense quote', style='Intense Quote')
    
    • ⭐⭐增加无序列表

           'first item in unordered list'表示列表内容,style表示无序列表

    1. document.add_paragraph(
    2. 'first item in unordered list', style='List Bullet'
    3. )
    • ⭐⭐增加有序列表

            'first item in ordered list' 表示列表内容,style表示有序列表

    1. document.add_paragraph(
    2. 'first item in ordered list', style='List Number'
    3. )
    • ⭐⭐添加图片

            'monty-truth.png'为图片路径,width为边框尺寸

    document.add_picture('monty-truth.png', width=Inches(1.25))
    • ⭐⭐添加表格

            添加一个1行3列的表格

    table = document.add_table(rows=1, cols=3)
    • ⭐⭐设置表格行列内容

            给表格添加内容

    1. records = (
    2. (3, '101', 'Spam'),
    3. (7, '422', 'Eggs'),
    4. (4, '631', 'Spam, spam, eggs, and spam')
    5. )
    6. table = document.add_table(rows=1, cols=3)
    7. hdr_cells = table.rows[0].cells
    8. hdr_cells[0].text = 'Qty'
    9. hdr_cells[1].text = 'Id'
    10. hdr_cells[2].text = 'Desc'
    11. for qty, id, desc in records:
    12. row_cells = table.add_row().cells
    13. row_cells[0].text = str(qty)
    14. row_cells[1].text = id
    15. row_cells[2].text = desc
    • ⭐⭐添加分页符

            通过add_page_break()函数添加分页符

    document.add_page_break()
    
    • ⭐⭐保存word文档

            保存新word文档

    document.save('demo.docx')

    🍓🍓完整代码 

    1. from docx import Document
    2. from docx.shared import Inches
    3. document = Document()
    4. document.add_heading('Document Title', 0)
    5. p = document.add_paragraph('A plain paragraph having some ')
    6. p.add_run('bold').bold = True
    7. p.add_run(' and some ')
    8. p.add_run('italic.').italic = True
    9. document.add_heading('Heading, level 1', level=1)
    10. document.add_paragraph('Intense quote', style='Intense Quote')
    11. document.add_paragraph(
    12. 'first item in unordered list', style='List Bullet'
    13. )
    14. document.add_paragraph(
    15. 'first item in ordered list', style='List Number'
    16. )
    17. document.add_picture('monty-truth.png', width=Inches(1.25))
    18. records = (
    19. (3, '101', 'Spam'),
    20. (7, '422', 'Eggs'),
    21. (4, '631', 'Spam, spam, eggs, and spam')
    22. )
    23. table = document.add_table(rows=1, cols=3)
    24. hdr_cells = table.rows[0].cells
    25. hdr_cells[0].text = 'Qty'
    26. hdr_cells[1].text = 'Id'
    27. hdr_cells[2].text = 'Desc'
    28. for qty, id, desc in records:
    29. row_cells = table.add_row().cells
    30. row_cells[0].text = str(qty)
    31. row_cells[1].text = id
    32. row_cells[2].text = desc
    33. document.add_page_break()
    34. document.save('demo.docx')

    整理不易,欢迎一键三连!!!


    送你们一条美丽的--分割线--

    🌷🌷🍀🍀🌾🌾🍓🍓🍂🍂🙋🙋🐸🐸🙋🙋💖💖🍌🍌🔔🔔🍉🍉🍭🍭🍋🍋🍇🍇🏆🏆📸📸⛵⛵⭐⭐🍎🍎👍👍🌷🌷

  • 相关阅读:
    Vue中使用Switch开关用来控制商品的上架与下架情况、同时根据数据库商品的状态反应到前台、前台修改商品状态保存到数据库
    不可忽视的国外服务器地址IP选择指南
    Django建立mysql数据库,和使用navicat连接mysql数据库
    车载ECU嵌入式设备的诊断测试 – 读和写
    齿轮减速机设备类网站pbootcms模板(PC端+手机端自适应)
    【第三部分 | 移动端开发】2:流式布局
    【哈士奇赠书活动 - 44期】- 〖从零基础到精通Flutter开发〗
    Biotech - 环状 mRNA 的 LNP 递送系统 与 成环框架
    BasicAuth认证实现
    FPGA之手把手教你做多路信号发生器(STM32与FPGA数据互传控制波形生成)
  • 原文地址:https://blog.csdn.net/qq_38308388/article/details/134272575