日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Python辦公神器:教你使用 Python 批量整理通知文件

來源: 責(zé)編: 時間:2024-04-25 17:40:09 225觀看
導(dǎo)讀你是否遇到過這樣的情況:你有一堆Word文件,每個文件都包含一些重要的信息,你需要把這些信息提取出來,整理到一個Excel表格中,方便查閱和管理。但是,手動打開每個文件,復(fù)制粘貼信息,又太費(fèi)時費(fèi)力,而且容易出錯。有沒有什么辦法

你是否遇到過這樣的情況:你有一堆Word文件,每個文件都包含一些重要的信息,你需要把這些信息提取出來,整理到一個Excel表格中,方便查閱和管理。但是,手動打開每個文件,復(fù)制粘貼信息,又太費(fèi)時費(fèi)力,而且容易出錯。qt428資訊網(wǎng)——每日最新資訊28at.com

qt428資訊網(wǎng)——每日最新資訊28at.com

有沒有什么辦法可以讓Python幫你自動完成這個任務(wù)呢?答案是肯定的!本文將教你如何用Python批量提取Word文件中的關(guān)鍵信息,并寫入Excel文件中,只需幾行代碼,就可以節(jié)省大量的時間和精力。qt428資訊網(wǎng)——每日最新資訊28at.com

qt428資訊網(wǎng)——每日最新資訊28at.com

準(zhǔn)備工作

在開始編寫代碼之前,我們需要先準(zhǔn)備一些必要的工具和文件:qt428資訊網(wǎng)——每日最新資訊28at.com

  • Python環(huán)境:本文使用的是Python 3.8,你可以在下載安裝。
  • openpyxl庫:這是一個用于操作Excel文件的Python庫,你可以使用pip install openpyxl命令安裝。
  • python-docx庫:這是一個用于操作Word文件的Python庫,你可以使用pip install python-docx命令安裝。
  • glob庫:這是一個用于獲取文件路徑的Python庫,一般已經(jīng)內(nèi)置在Python中,無需安裝。
  • Word文件:這是我們要提取信息的源文件,本文以7個會議通知文件為例,每個文件都包含學(xué)習(xí)時間、學(xué)習(xí)內(nèi)容、學(xué)習(xí)形式、主持人四項(xiàng)關(guān)鍵信息,文件名分別為會議通知1.docx,會議通知2.docx,...,會議通知7.docx,存放在Notice文件夾下。
  • Excel文件:這是我們要寫入信息的目標(biāo)文件,本文以一個空白的Excel文件為例,文件名為Meeting_temp.xlsx,存放在與Notice文件夾同一級的目錄下。

獲取文件路徑

第一步,我們需要獲取Notice文件夾下的所有Word文件的路徑,這樣我們才能對每個文件進(jìn)行操作。這里我們可以使用glob庫的glob函數(shù),它可以根據(jù)通配符匹配文件路徑,返回一個列表。例如,我們可以使用glob.glob('*.docx')來匹配當(dāng)前目錄下的所有以.docx結(jié)尾的文件。qt428資訊網(wǎng)——每日最新資訊28at.com

為了方便后續(xù)的操作,我們先定義一個變量path,表示我們的工作目錄,也就是Notice文件夾和Excel文件所在的目錄,你可以根據(jù)實(shí)際情況修改。然后,我們使用glob.glob(path + r'/Notice/*.docx')來獲取Notice文件夾下的所有Word文件的路徑,保存在一個變量files中。注意,這里我們使用了r字符串,表示原始字符串,不會對反斜杠進(jìn)行轉(zhuǎn)義。qt428資訊網(wǎng)——每日最新資訊28at.com

代碼如下:qt428資訊網(wǎng)——每日最新資訊28at.com

import globpath = r'C:/Users/xxx' # 路徑為Notice文件夾和Excel文件所在的目錄,可按實(shí)際情況更改files = glob.glob(path + r'/Notice/*.docx') # 獲取Notice文件夾下的所有Word文件的路徑print(files) # 打印文件路徑列表,檢查是否正確

輸出如下:qt428資訊網(wǎng)——每日最新資訊28at.com

['C://Users//xxx//Notice//會議通知1.docx', 'C://Users//xxx//Notice//會議通知2.docx', 'C://Users//xxx//Notice//會議通知3.docx', 'C://Users//xxx//Notice//會議通知4.docx', 'C://Users//xxx//Notice//會議通知5.docx', 'C://Users//xxx//Notice//會議通知6.docx', 'C://Users//xxx//Notice//會議通知7.docx']

解析Word文件

第二步,我們需要解析每個Word文件,獲取需要的四個信息,即學(xué)習(xí)時間、學(xué)習(xí)內(nèi)容、學(xué)習(xí)形式、主持人。這里我們可以使用python-docx庫的Document類,它可以讀取Word文件,并將其內(nèi)容以段落(Paragraph)為單位進(jìn)行劃分。我們可以遍歷每個段落,根據(jù)其文本內(nèi)容,判斷是否包含我們需要的信息,并提取出來。qt428資訊網(wǎng)——每日最新資訊28at.com

為了方便后續(xù)的操作,我們先定義一個變量number,表示序號,用于記錄每個文件的順序。然后,我們使用一個for循環(huán),遍歷files列表中的每個文件路徑,使用Document類打開每個文件,保存在一個變量wordfile中。接著,我們定義一個空列表content_lst,用于存放學(xué)習(xí)內(nèi)容,因?yàn)閷W(xué)習(xí)內(nèi)容可能分散在多個段落中,我們需要將它們合并成一個字符串。然后,我們使用一個嵌套的for循環(huán),遍歷wordfile中的每個段落,根據(jù)其文本內(nèi)容,判斷是否包含我們需要的信息,并提取出來,保存在相應(yīng)的變量中。具體的判斷邏輯如下:qt428資訊網(wǎng)——每日最新資訊28at.com

  • 如果段落的文本以“學(xué)習(xí)時間:”開頭,那么我們就提取其后面的部分,保存在一個變量study_time中。
  • 如果段落的文本以“主持人:”開頭,那么我們就提取其后面的部分,保存在一個變量host中。
  • 如果段落的文本以“學(xué)習(xí)形式:”開頭,那么我們就提取其后面的部分,保存在一個變量study_type中。
  • 如果段落的文本的長度大于等于2,且第一個字符是數(shù)字,第二個字符是中文頓號“、”,那么我們就認(rèn)為這是學(xué)習(xí)內(nèi)容的一部分,將其添加到content_lst中。

代碼如下:qt428資訊網(wǎng)——每日最新資訊28at.com

from docx import Documentnumber = 0 # 定義一個變量,表示序號for file in files: # 遍歷每個文件路徑    wordfile = Document(file) # 打開每個文件    content_lst = [] # 定義一個空列表,用于存放學(xué)習(xí)內(nèi)容    for paragraph in wordfile.paragraphs: # 遍歷每個段落        if paragraph.text[0:5] == '學(xué)習(xí)時間:': # 如果段落的文本以“學(xué)習(xí)時間:”開頭            study_time = paragraph.text[5:] # 提取其后面的部分,保存在study_time中        if paragraph.text[0:4] == '主持人:': # 如果段落的文本以“主持人:”開頭            host = paragraph.text[4:] # 提取其后面的部分,保存在host中        if paragraph.text[0:5] == '學(xué)習(xí)形式:': # 如果段落的文本以“學(xué)習(xí)形式:”開頭            study_type = paragraph.text[5:] # 提取其后面的部分,保存在study_type中        if len(paragraph.text) >= 2: # 如果段落的文本的長度大于等于2            if paragraph.text[0].isdigit() and paragraph.text[1] == '、': # 如果第一個字符是數(shù)字,第二個字符是中文頓號“、”                content_lst.append(paragraph.text) # 將其添加到content_lst中    content = ' '.join(content_lst) # 將content_lst中的元素用空格連接成一個字符串,保存在content中    print(study_time, content, study_type, host) # 打印提取的信息,檢查是否正確

寫入Excel文件

第三步,我們需要將提取的信息寫入Excel文件中,這樣我們就可以方便地查看和管理。這里我們可以使用openpyxl庫的Workbook類和Worksheet類,它們可以創(chuàng)建和操作Excel文件和工作表。我們可以使用Workbook類的active屬性,獲取當(dāng)前活動的工作表,保存在一個變量sheet中。然后,我們可以使用Worksheet類的cell方法,根據(jù)行號和列號,指定單元格,并給其賦值。qt428資訊網(wǎng)——每日最新資訊28at.com

為了方便后續(xù)的操作,我們先定義一個變量excel_file,表示我們要寫入的Excel文件的路徑,你可以根據(jù)實(shí)際情況修改。然后,我們使用Workbook類創(chuàng)建一個Excel文件對象,保存在一個變量wb中。qt428資訊網(wǎng)——每日最新資訊28at.com

接著,我們使用wb的active屬性,獲取當(dāng)前活動的工作表,保存在一個變量sheet中。然后,我們使用sheet的cell方法,給第一行的每一列賦值,作為表頭,分別是序號、學(xué)習(xí)時間、學(xué)習(xí)內(nèi)容、學(xué)習(xí)形式、主持人。qt428資訊網(wǎng)——每日最新資訊28at.com

接下來,我們使用一個for循環(huán),遍歷files列表中的每個文件路徑,使用Document類打開每個文件,保存在一個變量wordfile中。然后,我們使用和上一步相同的邏輯,提取每個文件中的四個信息,保存在相應(yīng)的變量中。qt428資訊網(wǎng)——每日最新資訊28at.com

最后,我們使用sheet的cell方法,給每一行的每一列賦值,分別是序號、學(xué)習(xí)時間、學(xué)習(xí)內(nèi)容、學(xué)習(xí)形式、主持人。注意,這里我們需要將序號加1,因?yàn)榈谝恍幸呀?jīng)被表頭占用了。最后,我們使用wb的save方法,保存Excel文件。qt428資訊網(wǎng)——每日最新資訊28at.com

代碼如下:qt428資訊網(wǎng)——每日最新資訊28at.com

from openpyxl import Workbookexcel_file = path + r'/Meeting_temp.xlsx' # 定義Excel文件的路徑,可按實(shí)際情況更改wb = Workbook() # 創(chuàng)建一個Excel文件對象sheet = wb.active # 獲取當(dāng)前活動的工作表sheet.cell(row=1, column=1).value = '序號' # 給第一行第一列賦值,作為表頭sheet.cell(row=1, column=2).value = '學(xué)習(xí)時間' # 給第一行第二列賦值,作為表頭sheet.cell(row=1, column=3).value = '學(xué)習(xí)內(nèi)容' # 給第一行第三列賦值,作為表頭sheet.cell(row=1, column=4).value = '學(xué)習(xí)形式' # 給第一行第四列賦值,作為表頭sheet.cell(row=1, column=5).value = '主持人' # 給第一行第五列賦值,作為表頭for file in files: # 遍歷每個文件路徑    wordfile = Document(file) # 打開每個文件    content_lst = [] # 定義一個空列表,用于存放學(xué)習(xí)內(nèi)容    for paragraph in wordfile.paragraphs: # 遍歷每個段落        if paragraph.text[0:5] == '學(xué)習(xí)時間:': # 如果段落的文本以“學(xué)習(xí)時間:”開頭            study_time = paragraph.text[5:] # 提取其后面的部分,保存在study_time中        if paragraph.text[0:4] == '主持人:': # 如果段落的文本以“主持人:”開頭            host = paragraph.text[4:] # 提取其后面的部分,保存在host中        if paragraph.text[0:5] == '學(xué)習(xí)形式:': # 如果段落的文本以“學(xué)習(xí)形式:”開頭            study_type = paragraph.text[5:] # 提取其后面的部分,保存在study_type中        if len(paragraph.text) >= 2: # 如果段落的文本的長度大于等于2            if paragraph.text[0].isdigit() and paragraph.text[1] == '、': # 如果第一個字符是數(shù)字,第二個字符是中文頓號“、”                content_lst.append(paragraph.text) # 將其添加到content_lst中    content = ' '.join(content_lst) # 將content_lst中的元素用空格連接成一個字符串,保存在content中    number += 1 # 將序號加1    sheet.cell(row=number+1, column=1).value = number # 給每一行第一列賦值,作為序號    sheet.cell(row=number+1, column=2).value = study_time # 給每一行第二列賦值,作為學(xué)習(xí)時間    sheet.cell(row=number+1, column=3).value = content # 給每一行第三列賦值,作為學(xué)習(xí)內(nèi)容    sheet.cell(row=number+1, column=4).value = study_type # 給每一行第四列賦值,作為學(xué)習(xí)形式    sheet.cell(row=number+1, column=5).value = host # 給每一行第五列賦值,作為主持人wb.save(excel_file) # 保存Excel文件

完成任務(wù)

至此,我們已經(jīng)完成了用Python批量提取Word文件中的關(guān)鍵信息,并寫入Excel文件中的任務(wù)。你可以打開Meeting_temp.xlsx文件,查看結(jié)果,如下圖所示:qt428資訊網(wǎng)——每日最新資訊28at.com

qt428資訊網(wǎng)——每日最新資訊28at.com

你可以看到,我們成功地將7個Word文件中的四個信息提取出來,并按照序號、學(xué)習(xí)時間、學(xué)習(xí)內(nèi)容、學(xué)習(xí)形式、主持人的順序,寫入Excel文件中,方便查閱和管理。qt428資訊網(wǎng)——每日最新資訊28at.com

總結(jié)

本文教你如何用Python批量提取Word文件中的關(guān)鍵信息,并寫入Excel文件中,只需幾行代碼,就可以節(jié)省大量的時間和精力。本文涉及到的主要技術(shù)點(diǎn)有:qt428資訊網(wǎng)——每日最新資訊28at.com

  • openpyxl庫:用于操作Excel文件,可以創(chuàng)建、讀取、寫入、修改Excel文件和工作表。
  • python-docx庫:用于操作Word文件,可以讀取、寫入、修改Word文件和段落。
  • glob庫:用于獲取文件路徑,可以根據(jù)通配符匹配文件路徑,返回一個列表。

本文鏈接:http://m.www897cc.com/showinfo-26-85540-0.htmlPython辦公神器:教你使用 Python 批量整理通知文件

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: C#讀寫 INI 文件的最簡方法

下一篇: C# 讀寫 JSON 配置文件詳解

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产精品久久夜| 欧美电影打屁股sp| 午夜精品久久| 欧美伊人久久| 欧美www在线| 欧美视频精品一区| 国产乱人伦精品一区二区 | 国产欧美精品一区二区三区介绍 | 亚洲国产电影| 在线中文字幕一区| 久久激情综合网| 欧美激情精品久久久久| 国产精品一区=区| 亚洲国产欧洲综合997久久| 亚洲精品一区二区网址 | 免费成人在线视频网站| 欧美性色综合| 亚洲国产成人在线| 亚洲午夜小视频| 久久综合中文| 国产精品捆绑调教| 亚洲欧洲精品一区二区| 性做久久久久久久久| 欧美激情久久久久| 国产欧美视频一区二区三区| 亚洲三级视频| 久久精品夜色噜噜亚洲a∨| 欧美日韩午夜视频在线观看| 一区二区三区在线免费观看| 亚洲一区二区欧美日韩| 欧美成人免费全部| 国产在线高清精品| 亚洲一区中文| 欧美精品一区二区三区在线播放 | 国产精品久久久久久久7电影| 在线欧美影院| 欧美一区二区三区在线观看视频| 欧美日韩成人| 亚洲风情亚aⅴ在线发布| 欧美一区二区三区视频在线| 欧美日韩一区二区视频在线观看| 在线成人国产| 欧美在线亚洲| 国产精品一香蕉国产线看观看| 亚洲美女尤物影院| 蜜臀av一级做a爰片久久| 国产三区精品| 亚洲免费网址| 欧美吻胸吃奶大尺度电影| 亚洲黄色在线看| 久久久人人人| 国产欧美一级| 亚洲欧美电影在线观看| 欧美日韩在线播放一区二区| 亚洲三级视频在线观看| 美乳少妇欧美精品| 一区二区三区在线观看国产| 久久国内精品自在自线400部| 国产精品激情电影| 一区二区激情视频| 欧美精品一区在线发布| 亚洲娇小video精品| 免费久久99精品国产| 尤物在线精品| 久热精品视频| 黄色成人91| 久久久综合视频| 激情自拍一区| 久久亚洲电影| 在线观看一区| 美女亚洲精品| 亚洲国产成人久久综合| 美国十次成人| 在线免费观看日韩欧美| 久热精品视频在线免费观看| 伊人久久久大香线蕉综合直播| 久久九九免费视频| 影音先锋亚洲一区| 免费观看成人| 91久久精品一区| 欧美日本韩国一区| 一区二区三区日韩精品| 欧美午夜电影在线观看| 亚洲尤物在线| 国产喷白浆一区二区三区| 欧美一区二区视频网站| 国内精品久久久久伊人av| 久久久久久夜精品精品免费| 国内精品久久久久影院色| 久久性色av| 亚洲国产精品一区二区尤物区| 欧美aa在线视频| 日韩一级精品| 国产精品久久久久久久久果冻传媒| 亚洲小视频在线观看| 国产精品一区免费在线观看| 久久精品99国产精品日本| 在线观看一区二区视频| 欧美精品首页| 国产精品99久久久久久白浆小说| 国产精品久久福利| 翔田千里一区二区| 精品88久久久久88久久久| 免费成人性网站| 99精品国产福利在线观看免费 | 久久久久国产精品人| 在线国产日韩| 欧美区日韩区| 午夜激情综合网| 黄色精品一二区| 欧美激情一区二区三区在线视频观看 | 欧美色123| 欧美一区影院| 1000部国产精品成人观看| 欧美精品成人在线| 亚洲欧美日韩一区在线| 激情视频一区二区三区| 欧美激情精品久久久六区热门 | 在线高清一区| 欧美日韩国产欧美日美国产精品| 亚洲一区二区免费视频| 激情六月综合| 欧美日韩一区二区精品| 欧美一区在线看| 亚洲国产欧美日韩精品| 国产精品视频免费观看| 免费看的黄色欧美网站| 中文一区二区| 激情久久久久久久| 欧美色图五月天| 久久久久久午夜| 一区二区国产日产| 国内精品久久久久久久97牛牛| 欧美人与禽猛交乱配| 欧美在线观看一二区| 亚洲精品久久视频| 国产一二精品视频| 欧美片在线观看| 久久久久久久一区二区| 中文一区二区| 91久久精品美女| 国产日产亚洲精品系列| 欧美日本国产在线| 久久久久综合网| 亚洲一区二区精品在线观看| 在线免费观看日本一区| 国产精品青草综合久久久久99 | 欧美日精品一区视频| 久久久国产一区二区| 一本色道久久| 亚洲第一页中文字幕| 国产精品日韩精品欧美在线| 欧美福利视频一区| 久久精品成人欧美大片古装| 一区二区三区精品久久久| 在线成人中文字幕| 国产日韩欧美黄色| 欧美日韩在线播放| 欧美777四色影视在线| 欧美亚洲视频一区二区| 一本一本久久a久久精品综合麻豆| 激情成人av在线| 国产欧美一区二区精品婷婷 | 久久免费精品日本久久中文字幕| 亚洲视屏一区| 亚洲免费福利视频| 在线欧美影院| 国内激情久久| 国产乱码精品| 国产精品久久久久久久久久久久久久 | 亚洲精品久久久久久下一站| 狠狠色噜噜狠狠狠狠色吗综合| 国产精品对白刺激久久久| 欧美激情视频在线免费观看 欧美视频免费一 | 亚洲一区网站| 日韩天堂在线视频| 亚洲二区免费| 一区视频在线| 激情综合色综合久久| 国产欧美日韩视频在线观看| 国产精品成人va在线观看| 欧美精品在线极品| 欧美大片在线观看一区| 久久人人97超碰人人澡爱香蕉| 午夜一区二区三区在线观看| 亚洲一区二区三区精品动漫| 99国产精品久久久久久久成人热| 亚洲国内精品在线| 在线视频国产日韩| 影音先锋日韩资源| 狠狠久久亚洲欧美专区| 国产午夜精品一区二区三区视频 | 国产日韩成人精品| 国产精品午夜久久| 国产精品视频免费在线观看| 国产精品激情电影| 国产精品视频免费一区| 国产精品乱码妇女bbbb| 国产精品久久久久影院色老大 | 欧美一区二区三区视频免费播放 | 欧美mv日韩mv国产网站| 欧美77777| 欧美h视频在线| 欧美成人免费在线视频|