最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python操作word文檔的示例詳解

 更新時(shí)間:2022年01月20日 11:54:38   作者:夢想橡皮擦  
本文為大家介紹了Python操作docx文檔相關(guān)知識點(diǎn)。主要涉及的內(nèi)容為python-docx?,一款可以操作Word文檔(僅支持docx)的第三方庫??旄S小編一起學(xué)習(xí)一下吧

寫在前面

python-docx 不支持 doc 文檔,一定要注意該點(diǎn),如果使用 doc 文檔,需要提前將其用 Word 相關(guān)軟件轉(zhuǎn)換為 docx 格式。 doc 和 docx 是存在本質(zhì)差異的,一個(gè)是二進(jìn)制,另一個(gè) XML 格式的文件。

模塊的安裝 pip install python-docx

以下網(wǎng)址首先準(zhǔn)備好

資料準(zhǔn)備完畢,即可進(jìn)入編碼環(huán)節(jié)。

創(chuàng)建一個(gè)文檔

第一個(gè)需求,創(chuàng)建一個(gè)文檔,并在里面寫入各種信息。

先實(shí)現(xiàn)第一步,寫入一個(gè)標(biāo)題

注意下文中的 add_heading() 函數(shù)的用法。

from docx import Document

# 創(chuàng)建 Document 對象,等價(jià)于在電腦上打開一個(gè) Word 文檔
document = Document()

# 在 Word 文檔中添加一個(gè)標(biāo)題
document.add_heading('這是一個(gè)標(biāo)題',level=0)

# 保存文檔
document.save('demo.docx')

添加文字段落

注意下文中 add_paragraph() 函數(shù)添加段落,使用 add_run() 追加文本

from docx import Document

# 創(chuàng)建 Document 對象,等價(jià)于在電腦上打開一個(gè) Word 文檔
document = Document()

# 在 Word 文檔中添加一個(gè)標(biāo)題
document.add_heading('這是一個(gè)標(biāo)題', level=0)

# 文檔添加段落
p = document.add_paragraph('這是白給的段落')
# 添加帶樣式的文字
# 添加段落,文本可以包含制表符(\t)、換行符(\n)或回車符(\r)等
# add_run() 在段落后面追加文本
p.add_run('\n我傾斜了').italic = True  # 添加一個(gè)傾斜文字
p.add_run('\n我加粗了').bold = True  # 添加一個(gè)加粗文字

# 保存文檔
document.save('demo.docx')

在段落前面增加文字

p.add_run('\n我傾斜了').italic = True  # 添加一個(gè)傾斜文字
p.add_run('\n我加粗了').bold = True  # 添加一個(gè)加粗文字

# 段落前面插入內(nèi)容
prep_p = p.insert_paragraph_before('段落之前插入內(nèi)容')

段落還可以添加分頁符,代碼如下所示:

# 段落前面插入內(nèi)容
prep_p = p.insert_paragraph_before('段落之前插入內(nèi)容')

document.add_page_break()
p1 = document.add_paragraph('新頁新段落')

列表的添加

無序列表的添加

# 添加列表(前面一個(gè)小圓點(diǎn))
document.add_paragraph('我前面是小圓點(diǎn)', style='List Bullet')
# 添加列表(前面一個(gè)小圓點(diǎn))
document.add_paragraph('第二個(gè)小圓點(diǎn)', style='List Bullet')

有序列表的添加

# 添加列表(前面數(shù)字)
document.add_paragraph('我前面是數(shù)字', style='List Number')
# 添加列表(前面數(shù)字)
document.add_paragraph('第二個(gè)數(shù)字', style='List Number')

圖片的添加

Document 對象具備的方法如下所示:

  • add_heading(self, text='', level=1):添加標(biāo)題;
  • add_page_break(self):分頁符;
  • add_paragraph(self, text='', style=None):添加段落;
  • add_picture(self, image_path_or_stream, width=None, height=None):添加圖片;
  • add_section(self, start_type=2):添加節(jié);
  • add_table(self, rows, cols, style=None):添加表格;

本部分重點(diǎn)學(xué)習(xí) add_picture() 方法。

document.add_picture(r"../9.png", width=Inches(1))

add_picture() 函數(shù)中參數(shù) image_path_or_stream 可以為相對地址或者絕對地址,也可以是一個(gè)圖片數(shù)據(jù)流,上述代碼中 Inches 表示英寸,除此之外, python-docx 還提供了厘米 (Cm) ,如設(shè)置 1厘米: Cm(1) ,使用的時(shí)候需要提前導(dǎo)入 from docx.shared import Inches, Cm 。

表格添加

使用 add_table() 函數(shù),可以在 Word 文檔中添加表格。

p1 = document.add_paragraph('新頁新段落')

# 添加一個(gè) 2×2 表格
table = document.add_table(rows=2, cols=2)
# 獲取第1行第2列單元格
cell = table.cell(0, 1)

# 設(shè)置單元格文本
cell.text = '第1行第2列'

# 獲取第2行
row = table.rows[1]
row.cells[0].text = '橡皮擦'
row.cells[1].text = '喬喻'

學(xué)習(xí)的時(shí)候注意一下相關(guān)注釋,即可掌握該部分內(nèi)容。

相關(guān)樣式設(shè)置

設(shè)置格式需要用 add_run() ,直接使用 add_paragraph() 生成的段落不能直接設(shè)置字體等樣式。

# 模塊的導(dǎo)入
from docx.shared import Pt, Cm, Inches
from docx.oxml.ns import qn
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import RGBColor
# 一級標(biāo)題 level=0
head0 = document.add_heading(level=0)
# 標(biāo)題居中
head0.alignment = WD_ALIGN_PARAGRAPH.CENTER
title_run = head0.add_run('這是一個(gè)居中的標(biāo)題', )
title_run.font.size = Pt(24)
# 標(biāo)題英文字體
title_run.font.name = 'Times New Roman'
# 標(biāo)題中文字體
title_run.element.rPr.rFonts.set(qn('w:eastAsia'), '微軟雅黑')
# 字體顏色
title_run.font.color.rgb = RGBColor(4, 60, 169)

其中 WD_ALIGN_PARAGRAPH 對象表示段落對其的方式,其值包括如下內(nèi)容

  • WD_ALIGN_PARAGRAPH. LEFT:左對齊;
  • WD_ALIGN_PARAGRAPH. CENTER:居中對其;
  • WD_ALIGN_PARAGRAPH. RIGHT:右對齊;
  • WD_ALIGN_PARAGRAPH. JUSTIFY:兩端對齊;

行距,段間距 line_spacing 屬性用來設(shè)置行距, space_before 表示段前距, space_after 表示段后距。

斜體,下劃線,粗體設(shè)置

font.italic = True  #設(shè)置斜體
font.underline = True  #設(shè)置下劃線
font.bold = True  #設(shè)置粗體

首行縮進(jìn) paragraph_format_line_indent 可以設(shè)置縮進(jìn)值。

其它設(shè)置 除了上述內(nèi)容外,還可以通過 document.styles.add_style('textstyle', WD_STYLE_TYPE. PARAGRAPH) ,使用 add_style() 方法創(chuàng)建新的樣式對象,后續(xù)就可以通過提供的屬性進(jìn)行樣式設(shè)置,設(shè)置字體使用 font.size ,設(shè)置字體顏色為 font.color

然后在添加段落的時(shí)候,就可以應(yīng)用該屬性了。

from docx.shared import RGBColor
from docx.enum.style import WD_STYLE_TYPE
style = document.styles.add_style('textstyle', WD_STYLE_TYPE.PARAGRAPH)
# 字體大小
style.font.size = Pt(16)
# 字體顏色
style.font.color.rgb = RGBColor(66, 100, 0)
p1 = document.add_paragraph('神人橡皮擦',style=style)

頁眉和頁腳

頁眉和頁腳可以直接設(shè)置,參考代碼如下所示

header = document.sections[0].header
header.add_paragraph('橡皮擦的頁眉')

頁腳設(shè)置

footer = document.sections[0].footer

到此這篇關(guān)于Python操作word文檔的示例詳解的文章就介紹到這了,更多相關(guān)Python操作word文檔內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Flask框架編寫文件下載接口過程講解

    Flask框架編寫文件下載接口過程講解

    這篇文章主要介紹了Flask框架編寫文件下載接口的過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-01-01
  • Python?numpy之線性代數(shù)與隨機(jī)漫步

    Python?numpy之線性代數(shù)與隨機(jī)漫步

    這篇文章主要介紹了Python?numpy之線性代數(shù)與隨機(jī)漫步,線性代數(shù),矩陣計(jì)算,優(yōu)化與內(nèi)存;比如矩陣乘法,分解,行列式等數(shù)學(xué)知識,是所有數(shù)組類庫的重要組成部分
    2022-07-07
  • Python的網(wǎng)絡(luò)編程庫Gevent的安裝及使用技巧

    Python的網(wǎng)絡(luò)編程庫Gevent的安裝及使用技巧

    Gevent庫的奧義在于并發(fā)式的高性能網(wǎng)絡(luò)程序設(shè)計(jì)支持,這里我們將來講解Python的網(wǎng)絡(luò)編程庫Gevent的安裝及使用技巧,來看一下Gevent支持的多進(jìn)程程序編寫:
    2016-06-06
  • Python運(yùn)算符&=使用實(shí)例探究

    Python運(yùn)算符&=使用實(shí)例探究

    這篇文章主要為大家介紹了Python運(yùn)算符&=使用實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • python下載庫的步驟方法

    python下載庫的步驟方法

    在本篇文章里小編給大家分享的是關(guān)于python怎么下載庫的詳細(xì)實(shí)例內(nèi)容,有需要的朋友們學(xué)習(xí)下。
    2019-10-10
  • python通過BF算法實(shí)現(xiàn)關(guān)鍵詞匹配的方法

    python通過BF算法實(shí)現(xiàn)關(guān)鍵詞匹配的方法

    這篇文章主要介紹了python通過BF算法實(shí)現(xiàn)關(guān)鍵詞匹配的方法,實(shí)例分析了BF算法的原理與Python實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • Python GUI之tkinter窗口視窗教程大集合(推薦)

    Python GUI之tkinter窗口視窗教程大集合(推薦)

    這篇文章主要介紹了Python GUI之tkinter窗口視窗教程大集合,看這一篇教程足了,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 如何為Python終端提供持久性歷史記錄

    如何為Python終端提供持久性歷史記錄

    這篇文章主要介紹了如何為Python終端提供持久性歷史記錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python常用配置文件ini、json、yaml讀寫總結(jié)

    Python常用配置文件ini、json、yaml讀寫總結(jié)

    用的配置文件格式有ini、json、yaml等,下面簡單給大家介紹下,Python如何讀寫這幾種格式的文件,對Python讀寫ini、json、yaml配置文件相關(guān)知識感興趣的朋友一起看看吧
    2021-07-07
  • 淺談Python 遞歸算法指歸

    淺談Python 遞歸算法指歸

    這篇文章主要介紹了淺談Python 遞歸算法指歸,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評論

汽车| 宁南县| 枣庄市| 永济市| 凤阳县| 贵德县| 隆化县| 松江区| 永城市| 沈丘县| 汨罗市| 门源| 玛纳斯县| 兴安县| 台山市| 深圳市| 青铜峡市| 于田县| 浑源县| 临猗县| 应城市| 易门县| 衡阳市| 南阳市| 肥西县| 福建省| 宁海县| 葵青区| 合山市| 长兴县| 夏河县| 湘乡市| 汉沽区| 甘谷县| 天柱县| 南平市| 凤山市| 宁津县| 北川| 湘潭市| 亚东县|