本篇內(nèi)容介紹了“怎么使用Python實現(xiàn)自動化篩選簡歷”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為祁陽企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,祁陽網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
簡歷相關(guān)信息如下:
已知條件:
想要查找包含指定關(guān)鍵字的簡歷(比如 Python、Java)
實現(xiàn)思路:
批量讀取每一個 word 文件(通過 glob 獲取 word 信息),將他們的所有可讀內(nèi)容獲取,并通過關(guān)鍵字方式篩選,拿到目標(biāo)簡歷地址。
這里有個需要注意的地方就是,并不是所有的 "簡歷" 都是以段落的形式呈現(xiàn)的,比如從 "獵聘" 網(wǎng)下載下來的簡歷就是 "表格形式" 的,而 "boss" 上下載的簡歷就是 "段落形式" 的,這里再進行讀取的時候需要注意下,我們做的演示腳本練習(xí)就是 "表格形式" 的。
這里的話,我們就可以專門定義一個 "ReadDoc" 的類,里面定義兩個函數(shù),分別用于讀取 "段落" 和 "表格" 。
實操案例腳本如下:
# coding:utf-8from docx import Documentclass ReadDoc(object): # 定義一個 ReadDoc ,用以讀取 word 文件 def __init__(self, path): # 構(gòu)造函數(shù)默認(rèn)傳入讀取 word 文件的路徑 self.doc = Document(path) self.p_text = '' self.table_text = '' self.get_para() self.get_table() def get_para(self): # 定義 get_para 函數(shù)用以讀取 word 文件的段落 for p in self.doc.paragraphs: self.p_text += p.text + '\n' # 讀取的段落內(nèi)容進行換行 print(self.p_text) def get_table(self): # 定義 get_table 函數(shù)循環(huán)讀取表格內(nèi)容 for table in self.doc.tables: for row in table.rows: _cell_str = '' # 獲取每一行的完整信息 for cell in row.cells: _cell_str += cell.text + ',' # 每一行加一個 "," 隔開 self.table_text += _cell_str + '\n' # 讀取的表格內(nèi)容進行換行 print(self.table_text)if __name__ == '__main__': path = glob.os.path.join(glob.os.getcwd(), 'test_file/簡歷1.docx') doc = ReadDoc(path) print(doc)
看一下 ReadDoc
類的運行結(jié)果
OK,上文已經(jīng)成功讀取了簡歷的 word 文檔,接下來我們要將讀取到的內(nèi)容通過帥選關(guān)鍵字信息的方式,過濾出包含有關(guān)鍵字的簡歷。
實操案例腳本如下:
# coding:utf-8import globfrom docx import Documentclass ReadDoc(object): # 定義一個 ReadDoc ,用以讀取 word 文件 def __init__(self, path): # 構(gòu)造函數(shù)默認(rèn)傳入讀取 word 文件的路徑 self.doc = Document(path) self.p_text = '' self.table_text = '' self.get_para() self.get_table() def get_para(self): # 定義 get_para 函數(shù)用以讀取 word 文件的段落 for p in self.doc.paragraphs: self.p_text += p.text + '\n' # 讀取的段落內(nèi)容進行換行 # print(self.p_text) # 調(diào)試打印輸出 word 文件的段落內(nèi)容 def get_table(self): # 定義 get_table 函數(shù)循環(huán)讀取表格內(nèi)容 for table in self.doc.tables: for row in table.rows: _cell_str = '' # 獲取每一行的完整信息 for cell in row.cells: _cell_str += cell.text + ',' # 每一行加一個 "," 隔開 self.table_text += _cell_str + '\n' # 讀取的表格內(nèi)容進行換行 # print(self.table_text) # 調(diào)試打印輸出 word 文件的表格內(nèi)容def search_word(path, targets): # 定義 search_word 用以篩選符合內(nèi)容的簡歷;傳入 path 與 targets(targets 為列表) result = glob.glob(path) final_result = [] # 定義一個空列表,用以后續(xù)存儲文件的信息 for i in result: # for 循環(huán)獲取 result 內(nèi)容 isuse = True # 是否可用 if glob.os.path.isfile(i): # 判斷是否是文件 if i.endswith('.docx'): # 判斷文件后綴是否是 "docx" ,若是,則利用 ReadDoc類 實例化該文件對象 doc = ReadDoc(i) p_text = doc.p_text # 獲取 word 文件內(nèi)容 table_text = doc.table_text all_text = p_text + table_text for target in targets: # for 循環(huán)判斷關(guān)鍵字信息內(nèi)容是否存在 if target not in all_text: isuse = False break if not isuse: continue final_result.append(i) return final_resultif __name__ == '__main__': path = glob.os.path.join(glob.os.getcwd(), '*') result = search_word(path, ['python', 'golang', 'react', '埋點']) # 埋點是為了演示效果,故意在 "簡歷1.docx" 加上的 print(result)
運行結(jié)果如下:
“怎么使用Python實現(xiàn)自動化篩選簡歷”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
當(dāng)前題目:怎么使用Python實現(xiàn)自動化篩選簡歷
文章URL:http://aaarwkj.com/article32/igcdsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站排名、外貿(mào)建站、營銷型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)