【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

from docx import Document

document = Document()
document.add_paragraph("It was a dark and stormy night.")
print(document)

🔔🔔输出1

<docx.text.paragraph.Paragraph object at 0x10f19e760>

        


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

🔔🔔python代码2

document.save("dark-and-stormy.docx")

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

🔔🔔输出2

'It was a dark and stormy night.'

🍓🍓demo应用

功能包含:

  • ⭐⭐创建文档

from docx import Document
from docx.shared import Inches

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表示无序列表

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

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

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

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

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

        添加一个1行3列的表格

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

        给表格添加内容

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

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
  • ⭐⭐添加分页符

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

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

        保存新word文档

document.save('demo.docx')

🍓🍓完整代码 

from docx import Document
from docx.shared import Inches

document = Document()

document.add_heading('Document Title', 0)

p = document.add_paragraph('A plain paragraph having some ')
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'
)

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

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

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()

document.save('demo.docx')

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


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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zy_destiny

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值