欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用docx模塊編輯Word文檔

 更新時(shí)間:2023年07月19日 11:27:35   作者:W金剛葫蘆娃W  
docx提供了一組功能豐富的函數(shù)和方法,用于創(chuàng)建、修改和讀取Word文檔,Python可以用它對(duì)word文檔進(jìn)行大批量的編輯,下面小編就來(lái)通過(guò)一些示例為大家好好講講吧

前言

該模塊可以通過(guò)python代碼來(lái)對(duì)word文檔進(jìn)行大批量的編輯。docx它提供了一組功能豐富的函數(shù)和方法,用于創(chuàng)建、修改和讀取Word文檔。下面是docx模塊中一些常用的函數(shù)和方法的介紹:

安裝:

pip install docx

一、準(zhǔn)備一個(gè)word文檔

文檔內(nèi)容大致如下

二、讀取文檔中的內(nèi)容

1、讀取段落內(nèi)容

通過(guò)遍歷 doc.paragraphs 來(lái)獲取文檔中的每個(gè)段落的文本內(nèi)容。

from docx import Document
path = 'test.docx'         #word文檔路徑
doc  = Document(path)   #創(chuàng)建一個(gè)文檔對(duì)象
#遍歷文檔中的所有段落
for par in doc.paragraphs:
    text = par.text
    print(text)

輸出的結(jié)果如下:

2、讀取表格內(nèi)容

from docx import Document
path = 'test.docx'         #word文檔路徑
doc  = Document(path)   #創(chuàng)建一個(gè)文檔對(duì)象
# 遍歷文檔中的表格
for table in doc.tables:
    for row in table.rows:
        for cell in row.cells:
            text = cell.text
            print(text)

輸出的結(jié)果如下:

三、修改

修改內(nèi)容需要注意,需要配合document.save(file_path):將文檔保存到指定的文件路徑file_path。

1、修改文檔內(nèi)容

比如把文檔中的   “所有的123”  替換成   “好好學(xué)習(xí)”

from docx import Document
path = 'test.docx'         #word文檔路徑
doc  = Document(path)   #創(chuàng)建一個(gè)文檔對(duì)象
# 遍歷文檔中的所有段落
for par in doc.paragraphs:
    text = par.text
    if '123' in par.text:
        par.text = par.text.replace('123','好好學(xué)習(xí)!')
#凡是有保存功能的,需要先把原文檔關(guān)閉才可以編輯
doc.save(path)  #注意這里如果使用的原文檔的路徑,則會(huì)直接對(duì)原文檔的內(nèi)容進(jìn)行修改,
new_path = 'new_test.docx'    #創(chuàng)建一個(gè)新路徑
doc.save(new_path)          #這里則會(huì)把內(nèi)容保存到一個(gè)新文檔中

輸出結(jié)果:

因?yàn)槲疫@里保存了兩個(gè)路徑: 

1、可以看到這里新生成了一個(gè)word文檔

2、查看兩個(gè)文檔中的內(nèi)容

原文檔:

新生成文檔:

總結(jié):

1、思路:

先定位修改的內(nèi)容——>然后賦值——>保存(沒(méi)有修改的內(nèi)容都會(huì)原樣保存下來(lái))

2、運(yùn)行修改的功能時(shí)候需要把原文檔關(guān)閉;

3、如果不生成新的文檔則切記,修改內(nèi)容不可逆!??! 

2、修改表格內(nèi)容

把表格中的    “休息”  替換成  “預(yù)習(xí)”

這里可以多復(fù)制幾張表格

按照上面的思路來(lái):

1、先定位,找到修改目標(biāo)的坐標(biāo)

from docx import Document
path = 'test.docx'         #word文檔路徑
doc  = Document(path)   #創(chuàng)建一個(gè)文檔對(duì)象
tables = doc.tables
#獲取表格中所有內(nèi)容對(duì)應(yīng)的坐標(biāo)
for i, row in enumerate(tables[0].rows):
    for j, cell in enumerate(row.cells):
        print( f'[+]{cell.text}    [+]對(duì)應(yīng)的坐標(biāo)是   ({i}, {j})\n')
 

輸出結(jié)果:

這里注意(這里找坐標(biāo)和我們平時(shí)看表的習(xí)慣不一樣,他們并沒(méi)有邏輯上的關(guān)系,而只是單純的坐標(biāo)來(lái)對(duì)應(yīng))

2、記住這個(gè)坐標(biāo)我們后面就可以對(duì)所有的表進(jìn)行修改:

注意下面代碼中的  cell(2,1) 中的坐標(biāo)就是上面我們找到的坐標(biāo),通過(guò)tables[tab]是逐一遍歷出每一張表格,然后把對(duì)應(yīng)的坐標(biāo)文檔替換為  '預(yù)習(xí)'.

from docx import Document
path = 'test.docx'         #word文檔路徑
doc  = Document(path)   #創(chuàng)建一個(gè)文檔對(duì)象
tables = doc.tables         #這里已經(jīng)把文檔中的所有表格都取出來(lái)了,以列表的形式存儲(chǔ)
#獲取表格中所有內(nèi)容對(duì)應(yīng)的坐標(biāo)
for tab in range(len(tables)):
        tables[tab].cell(2,1).text='預(yù)習(xí)'
# #凡是有保存功能的,需要先把原文檔關(guān)閉才可以編輯
doc.save(path)  #注意這里如果使用的原文檔的路徑,則會(huì)直接對(duì)原文檔的內(nèi)容進(jìn)行修改,

輸出結(jié)果:

到此這篇關(guān)于Python使用docx模塊編輯Word文檔的文章就介紹到這了,更多相關(guān)Python docx編輯Word內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Django框架中用context來(lái)解析模板的方法

    詳解Django框架中用context來(lái)解析模板的方法

    這篇文章主要介紹了詳解Django框架中用context來(lái)解析模板的方法,Django是重多高人氣Python框架中最為著名的一個(gè),需要的朋友可以參考下
    2015-07-07
  • Django的models模型的具體使用

    Django的models模型的具體使用

    這篇文章主要介紹了Django的models模型的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python預(yù)測(cè)分詞的實(shí)現(xiàn)

    Python預(yù)測(cè)分詞的實(shí)現(xiàn)

    本文將結(jié)合實(shí)例代碼,介紹Python預(yù)測(cè)分詞的實(shí)現(xiàn),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • Django之提交表單與前后端交互的方法

    Django之提交表單與前后端交互的方法

    今天小編就為大家分享一篇Django之提交表單與前后端交互的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python處理日期和時(shí)間的方法總結(jié)

    Python處理日期和時(shí)間的方法總結(jié)

    這篇文章主要介紹了Python時(shí)間和日期的處理方法總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • Python+Tkinter打造簽名設(shè)計(jì)工具

    Python+Tkinter打造簽名設(shè)計(jì)工具

    這篇文章主要為大家分享如何利用Python Tkinter庫(kù)制作帶圖形界面的一個(gè)簽名設(shè)計(jì)工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-04-04
  • 關(guān)于Django外鍵賦值問(wèn)題詳解

    關(guān)于Django外鍵賦值問(wèn)題詳解

    這段時(shí)間用django 做程序用到了一對(duì)多的關(guān)系的操作,下面分享一些心得體會(huì),這篇文章主要給大家介紹了關(guān)于Django外鍵賦值問(wèn)題的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-08-08
  • 一文教你利用Python租到最合適的房子

    一文教你利用Python租到最合適的房子

    這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言在爬取到房源數(shù)據(jù)后,挑選出符合自己要求的房子呢?感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • Python數(shù)據(jù)可視化編程通過(guò)Matplotlib創(chuàng)建散點(diǎn)圖代碼示例

    Python數(shù)據(jù)可視化編程通過(guò)Matplotlib創(chuàng)建散點(diǎn)圖代碼示例

    這篇文章主要介紹了Python數(shù)據(jù)可視化編程通過(guò)Matplotlib創(chuàng)建散點(diǎn)圖實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Python基礎(chǔ)學(xué)習(xí)之模塊的安裝和卸載

    Python基礎(chǔ)學(xué)習(xí)之模塊的安裝和卸載

    其實(shí)現(xiàn)在還是有很多剛開(kāi)始學(xué)習(xí)的小伙伴,會(huì)遇到模塊不會(huì)安裝的情況,或者一遇到報(bào)錯(cuò)就懵了,這樣就很耽誤我們的學(xué)習(xí)進(jìn)度。所以,今天我們就來(lái)了解一下Python幾種安裝模塊的方法吧
    2022-09-09

最新評(píng)論