国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

怎么從休學(xué)證明中取出休學(xué)原因(python自動化辦公,涉及word和excel)

這篇具有很好參考價值的文章主要介紹了怎么從休學(xué)證明中取出休學(xué)原因(python自動化辦公,涉及word和excel)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

怎么從休學(xué)證明中取出休學(xué)原因(python自動化辦公,涉及word和excel)

本代碼偏向處理高校教務(wù)處的工作

休學(xué)或請假模板如下:

                                         休學(xué)證明(此聯(lián)存教務(wù)辦)
                                            編號:休202323
計算機(jī)系23級計算機(jī)科學(xué)與技術(shù)本科專業(yè)學(xué)生5-StarrySky,不男不女,因自身原因,從2023年9月至2027年9
月休學(xué)。復(fù)學(xué)時持復(fù)學(xué)申請和休學(xué)證明及休學(xué)期間所在單位開具的無違法亂紀(jì)行為證明辦理復(fù)學(xué)手續(xù)。復(fù)學(xué)
后編入2027級同專業(yè)就讀。若逾期兩周不辦理復(fù)學(xué)手續(xù),將做自動退學(xué)處理。
                                          CSDN大學(xué)教務(wù)辦
2023年11月12日

需求說明:

1.首先從excel中取出需要休學(xué)的姓名
2.然后利用得到姓名去word文件進(jìn)行匹配
3.最后通過觀察發(fā)現(xiàn),休學(xué)原因,在'因'和','之間,所以我們這樣去取我們想要的數(shù)據(jù)

代碼如下:

		import re
    	# 從表格文件中提取姓名數(shù)據(jù)
        table_data = pd.read_excel("休學(xué)名單.xls")
        # names = table_data["XM"]


        # 從表格文件中提取姓名數(shù)據(jù)
        names = table_data["XM"]

        # 提取 Word 文檔中的文本
        text = docx2txt.process("休學(xué)證明.docx")

        # 創(chuàng)建一個字典來存儲姓名和對應(yīng)的請假原因
        name_reason_dict = {}

        for name in names:
            found = False
            reason = None
            # 在提取的文本中搜索姓名
            if name in text:
                # 查找姓名出現(xiàn)的最后一次位置
                name_position = max([m.start() for m in re.finditer(name, text)])
                # 查找 "因" 和截取到 "," 之前的文本
                match = re.search(r'因(.*?),', text[name_position:])
                if match:
                    reason = match.group(1)
                    found = True
            if found:
                # 使用姓名作為鍵,保存最后一個匹配到的原因
                name_reason_dict[name] = reason

        # 打印姓名和對應(yīng)的請假原因
        for name, reason in name_reason_dict.items():
            print(f"姓名: {name}, 請假原因: {reason}")
        df = DataFrame(list(name_reason_dict.items()), columns=['XM', 'XXYY'])
        df.to_excel("休學(xué)證明.xlsx")

重要知識點(diǎn)補(bǔ)充文章來源地址http://www.zghlxwxcb.cn/news/detail-734410.html

docx2txt:
將docx文件轉(zhuǎn)換為txt格式的模塊
能夠直接讀取docx文檔并將其中的文本部分剝離出來的簡單工具

re.finditer:
和 findall 類似,在字符串中找到正則表達(dá)式所匹配的所有子串,并把它們作為一個迭代器返回。
參數(shù)	描述
pattern	匹配的正則表達(dá)式
string	要匹配的字符串。
flags	標(biāo)志位,用于控制正則表達(dá)式的匹配方式,如:是否區(qū)分大小寫,多行匹配等等。參見:正則表達(dá)式修飾符 - 可選標(biāo)志
* 字符匹配
實(shí)例	描述
python	匹配 "python" 參考網(wǎng)址:https://www.runoob.com/python/python-reg-expressions.html

max([m.start() for m in re.finditer(name, text)])
這行代碼是使用 Python 的正則表達(dá)式模塊(re)來在文本字符串 text 中查找所有匹配 name 的位置,并返回其中最
大的位置。
具體解釋如下:
re.finditer(name, text):這部分使用 re.finditer() 函數(shù)來查找在 text 中所有匹配 name 的位置。finditer() 返回一個迭
代器,迭代器的每個元素是一個包含匹配的相關(guān)信息的 Match 對象。
[m.start() for m in ...]:這部分是一個列表推導(dǎo)式,它遍歷 re.finditer() 返回的 Match 對象列表,對于每個 Match 對
象 m,取其匹配的開始位置 m.start()。
max([...]):最后,max() 函數(shù)用來從位置列表中找到最大的位置。

match = re.search(r'因(.*?),', text[name_position:])
這行代碼使用正則表達(dá)式來搜索文本中以指定字符串 "因" 開頭并以逗號 "," 結(jié)尾的文本段。
具體解釋如下:
re.search(pattern, text):這部分使用 re.search() 函數(shù)來在文本字符串 text 中搜索與正則表達(dá)式 pattern 匹配的部
分。pattern 是正則表達(dá)式模式,text 是要搜索的文本。
r'因(.*?),':這是正則表達(dá)式模式。它的含義是:
因:匹配字面字符串 "因"。
(.*?):這是一個非貪婪捕獲組,它會匹配任意字符(.)零次或多次(*),使匹配最短(非貪婪)。
,:匹配字面字符串 ","。
text[name_position:]:這部分是對 text 字符串的切片操作,從 name_position 位置開始提取子字符串。

list(name_reason_dict.items()): 這部分將字典 name_reason_dict 中的鍵值對轉(zhuǎn)換為一個列表,其中每個元素是一個
元組,元組的第一個元素是姓名 'XM',第二個元素是請假原因 'XXYY'。這個列表看起來像下面這樣
[('姓名1', '請假原因1'), ('姓名2', '請假原因2'), ('姓名3', '請假原因3'), ...]
columns=['XM', 'XXYY']: 這是在創(chuàng)建 DataFrame 時指定的列名。DataFrame 的第一列將命名為 'XM',第二列將命
名為 'XXYY',這與字典中的鍵對應(yīng)。所以,在 DataFrame 中,第一列將包含姓名,第二列將包含請假原因。

match 是一個 Python 正則表達(dá)式匹配對象,它包含了與正則表達(dá)式匹配的文本的詳細(xì)信息。
reason = match.group(1):用于從正則表達(dá)式匹配中獲取文本中的具體部分。在這個特定的情況下,match 對象表
示一個成功的正則表達(dá)式匹配,group(1) 用于提取匹配中的第一個捕獲組(通常由括號包圍的部分)。在你的情況
下,正則表達(dá)式是 '因(.*?),',其中 (.*?) 表示一個捕獲組,它將匹配 "因" 和 "," 之間的任何文本。
參考鏈接:https://blog.csdn.net/m0_37360684/article/details/84140403

到了這里,關(guān)于怎么從休學(xué)證明中取出休學(xué)原因(python自動化辦公,涉及word和excel)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 自動化方案不合理的原因淺析

    前言 一直以來,測試團(tuán)隊(duì)都面臨一個迫在眉睫的問題:自動化測試收效甚微,甚至被認(rèn)為是”為了實(shí)現(xiàn)自動化而自動化“。之前寫過一篇博客自動化測試的評價維度,其實(shí)自動化的評價不乏有其他的評價指標(biāo)。但這里想說的一點(diǎn)是,自動化方案產(chǎn)出低的一個重要原因是自動化

    2024年02月10日
    瀏覽(19)
  • Python 自動化測試框架環(huán)境怎么搭建?這篇文章給你講的明明白白

    Python 自動化測試框架環(huán)境怎么搭建?這篇文章給你講的明明白白

    目錄 Python 自動化測試框架環(huán)境搭建 第一步:安裝 Python 第二步:安裝 PyCharm 第三步:安裝 Selenium WebDriver 第四步:安裝瀏覽器驅(qū)動 第五步:創(chuàng)建測試用例 第六步:集成持續(xù)集成平臺 總結(jié) Python 是一種流行的編程語言,可以用于多種應(yīng)用場景,包括自動化測試。本文將介紹如

    2023年04月12日
    瀏覽(69)
  • Python自動化測試怎么去學(xué)習(xí)?熬夜7天整理出這一份3000字學(xué)習(xí)指南!

    Python自動化測試怎么去學(xué)習(xí)?熬夜7天整理出這一份3000字學(xué)習(xí)指南!

    Python用于簡單腳本編程,如編寫2048小游戲或12306的自動搶票軟件; Python用于系統(tǒng)編程,如開發(fā)系統(tǒng)應(yīng)用; Python用于開發(fā)網(wǎng)絡(luò)爬蟲; 網(wǎng)絡(luò)爬蟲的用途是進(jìn)行數(shù)據(jù)采集,也就是將互聯(lián)網(wǎng)中的數(shù)據(jù)采集過來。網(wǎng)絡(luò)爬蟲的難點(diǎn)其實(shí)并不在于爬蟲本身,由于網(wǎng)站方為了避免被爬取回采

    2024年01月22日
    瀏覽(17)
  • 使用SaleSmartly自動化流程的 5 個原因

    使用SaleSmartly自動化流程的 5 個原因

    想象一下,如果您可以采用智能數(shù)字解決方案來減輕團(tuán)隊(duì)和公司的手動和重復(fù)業(yè)務(wù)流程負(fù)擔(dān)。它可以幫助您節(jié)省時間、提高公司的底線、消除冗余并增強(qiáng)數(shù)據(jù)管理。SaleSmartly(ss客服)就是這樣。 通過利用自動化的力量,SaleSmartly(ss客服)可以幫您的客服從重復(fù)性工作、復(fù)制

    2024年02月03日
    瀏覽(20)
  • 報錯原因:Traceback (most recent call last): File "D:/03.進(jìn)階python實(shí)驗(yàn)/08.復(fù)習(xí)進(jìn)階python/第十二節(jié)/01.自動化查詢學(xué)習(xí)成績.py"...

    這個錯誤表明,Selenium在執(zhí)行你的代碼時遇到了一個錯誤。更具體地,當(dāng)Selenium試圖通過調(diào)用 send_keys 方法在一個HTML元素中輸入文本時,遇到了一個\\\"ElementNotInteractableException\\\"錯誤。 這意味著,HTML元素在當(dāng)前的頁面上不可交互。可能的原因包括: 元素在當(dāng)前頁面上不存在 元素

    2024年02月12日
    瀏覽(26)
  • 在 CI/CD流水線中運(yùn)行自動化單元測試的4個原因

    目錄 什么是單元測試? C#中的單元測試示例 我需要在CI/CD 流水線中運(yùn)行自動化測試嗎? 開發(fā)人員代碼驗(yàn)證反饋循環(huán) 預(yù)驗(yàn)證 步步為營 減少“另一個開發(fā)人員寫了這段代碼”的問題 單元測試 什么是單元測試? 單元測試是一小段代碼,用于測試應(yīng)用程序編寫的代碼的邏輯。單

    2024年02月16日
    瀏覽(50)
  • Web自動化測試怎么做?Web自動化測試的詳細(xì)流程和步驟

    Web自動化測試怎么做?Web自動化測試的詳細(xì)流程和步驟

    自動化(Automation)是指機(jī)器設(shè)備、系統(tǒng)或過程(生產(chǎn)、管理過程)在沒有人或較少人的直接參與下,按照人的要求,經(jīng)過自動檢測、信息處理、分析判斷、操縱控制,實(shí)現(xiàn)預(yù)期的目標(biāo)的過程。 這是教科書里面的自動化的定義,回歸到自動化測試其實(shí)自動化測試就是什么呢?

    2024年02月02日
    瀏覽(23)
  • Selenium瀏覽器自動化怎么上傳文件

    Selenium瀏覽器自動化怎么上傳文件

    Selenium 封裝了現(xiàn)成的文件上傳操作。但是隨著現(xiàn)代前端框架的發(fā)展,文件上傳的方式越來越多樣。而有一些文件上傳的控件,要做自動化控制會更復(fù)雜一些,這篇文章主要討論在復(fù)雜情況下,如何通過自動化完成文件上傳。 如果頁面需要文件上傳,那么在大多數(shù)情況下,都能

    2024年02月08日
    瀏覽(15)
  • 軟件測試面試題——接口自動化測試怎么做?

    面試過程中,也問了該問題,以下是自己的回答: 接口自動化測試,之前做過,第一個版本是用jmeter 做的,1 主要是將P0級別的功能接口梳理出來,根據(jù)業(yè)務(wù)流抓包獲取相關(guān)接口,并在jmeter中跑通,2 是整理了項(xiàng)目上的所有接口,先將單個接口跑通,然后再編寫不同的接口用

    2024年02月14日
    瀏覽(27)
  • 自動化測試工程師的發(fā)展前景怎么樣?

    自動化測試工程師的發(fā)展前景怎么樣?

    根據(jù)各大網(wǎng)絡(luò)招聘平臺的數(shù)據(jù)顯示,越來越多的企業(yè)在招聘測試工程師的時候,都開始重視自動化測試這一重要技能。早在四年前,自動化測試的人才需求和薪資待遇就開始一路上漲。如果你問:自動化測試工程師的發(fā)展前景怎么樣?好不好?答案無疑是肯定的,不論是行業(yè)

    2024年02月12日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包