python自動化辦公能做什么,python 手機自動化操作_Python自動化辦公之word操作

 2023-12-06 阅读 28 评论 0

摘要:Python自動化辦公之word操作,主要是用到python-docx庫,針對word操作,對大批量重復性工作,使用python可以節省大量的時間和經歷python-docxword文檔中的文字有一級標題,二級標題,正文等,python-docx則是根據這些分類對word進

Python自動化辦公之word操作,主要是用到python-docx庫,針對word操作,對大批量重復性工作,使用python可以節省大量的時間和經歷

python-docx

word文檔中的文字有一級標題,二級標題,正文等,python-docx則是根據這些分類對word進行操作。

1、安裝

pip install python-docx

2、創建文檔

from?docx?import?Document
doc?=?Document()

3、添加標題

doc.add_heading('我是一級標題-----Python',level=1)

使用add_heading方法添加標題,level=1代表一級標題。

4、添加正文段落

doc.add_paragraph('這是一段正文文字')

5、添加文字塊并設置格式

添加了一個段落的同時可以添加文字,后續繼續添加內容,這就是文字塊的概念。

from?docx.shared?import?RGBColor
from?docx.shared?import?Pt
p?=?doc.add_paragraph()
#?添加文字塊一
run?=?p.add_run('添加一段正文文字,設置格式')
#?設置顏色,使用的是RGB顏色
run.font.color.rgb?=?RGBColor(255,95,145)
#?設置字體大小
run.font.size?=?Pt(36)
#?添加文字塊二
p.add_run('加粗').bold=True
#?添加文字塊三
p.add_run('斜體').italic?=?True
#?添加文字塊四
p.add_run('普通')

6、段落定位,并在指定位置添加內容

print(len(doc.paragraphs))
paragraph?=?doc.paragraphs[2]
#?指定位置原內容
print(paragraph.text)
#?在指定位置添加內容
paragraph.insert_paragraph_before('這是新添加的第二段的內容')

7、添加表格

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

#?確定列數,先定義一個一行三列的表
table?=?doc.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

python自動化辦公能做什么。a48d6deaec78be2b84917b0945cd2a73.png

8、插入圖片

使用add_picyure插入圖片,若是想在指定位置插入圖片,就將添加的圖片按照文字塊處理。

from?docx.shared?import?Cm
from?docx.enum.text?import?WD_PARAGRAPH_ALIGNMENT

#?添加圖片
doc.add_picture('1.jpg',width=Cm(14),height=Cm(8))
#?在指定位置插入圖片(當文字塊處理)
pic?=?doc.paragraphs[1].add_run().add_picture('1.jpg',width=Cm(10),height=Cm(6))
#?居中對齊
doc.paragraphs[1].alignment?=?WD_PARAGRAPH_ALIGNMENT.CENTER

9、段落縮進

添加完文字數據,設置段落的格式。

from?docx.shared?import?Pt,Inches
for?par?in?doc.paragraphs:
????if?par.style.name?=='Normal':
????????#?段前18磅
????????par.paragraph_format.space_before?=?Pt(18)
????????#?段后12磅
????????par.paragraph_format.space_after?=?Pt(12)

#?首行縮進
for?par?in?doc.paragraphs:
????if?par.style.name?=='Normal':
????????#?首行縮進
????????par.paragraph_format.first_line_indent?=?Inches(0.3)

10、頁面大小和紙張方向

from?docx.enum.section?import?WD_ORIENTATION
#?獲取第一頁
part_1?=?doc.sections[0]
#?查看高度和寬度
height?=?part_1.page_height.cm
width?=?part_1.page_width.cm
print('高度:%.2f,寬度:%.2f'?%?(height,width))

#?修改成A4紙的大小
part_1.page_height?=?Cm(29.7)
part_1.page_width?=?Cm(21.0)

#?指定為橫向,不能省略
part_1.orientation?=?WD_ORIENTATION.LANDSCAPE?

指定橫向,但是高度和寬度是前面設置好的,所以此時看起來和縱向一樣,但是通過查看頁面設置,可以發現此時的紙張方向已經變成橫向了。

f4b7494be058210b3ed454e1524dd4ff.png

11、保存文檔

所有操作完之后,一定要保存,不然word文檔都沒有,也就操作了一個寂寞。

doc.save('demo1.docx')

python處理word、這里這些都是一些常用方法,若要是有特殊的需求,最好就查看python-docx的文檔,https://python-docx.readthedocs.io/en/latest/。

1cc3e79182e1a4ff04fc8f1146313001.png

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/189205.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息