本篇內容介紹了“如何用Python實現(xiàn)按姓名拆分Excel為單獨文件并自動發(fā)給相應聯(lián)系人”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

創(chuàng)新互聯(lián)建站于2013年創(chuàng)立,是專業(yè)互聯(lián)網技術服務公司,擁有項目成都網站建設、網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元東光做網站,已為上家服務,為東光各地企業(yè)和個人服務,聯(lián)系電話:028-86922220
最近遇到一個需求:
把員工信息匯總表excel,按員工姓名拆分成單獨的excel,新excel以員工姓名命名,里面第一行是表頭,第二行是員工信息。
然后把excel通過微信單獨發(fā)送給每位員工。
這個需求適用于發(fā)送月度工資表、學校學生信息統(tǒng)計等場景。
其他版本在安裝python-office庫時會遇到各種問題,解決起來費時費力,建議直接使用python 3.8.9 64位版本,只需要在pycharm上搭建一個新環(huán)境,就可以輕松安裝使用了。
pip install python-office
用openpyxl庫的load_workbook()讀取相應的表格,表單和單元格都用列表的形式使用就行,例如['Sheet1'].['B1']
openpyxl庫的刪除整行命令是ws.delete_rows(),括號中輸入行號,刪除行時要注意從后往前刪除,否則行號會出現(xiàn)錯誤:
比如刪除了第二行后要刪第三行,這時第三行已經變成了第二行,給刪除造成麻煩,從后往前刪就不會出現(xiàn)這個問題。
這里會用到最大行,命令為ws.max_row,接著用for遍歷,需要倒著數,for i in range(ws.max_row, 1, -1),這樣就從最后一行開始遍歷,一直遍歷到第二行,把不想要的用ws.delete_rows(i)刪除就行。
wb.save(),括號中寫新的文件名
只需要用到一行命令,簡單背后的復雜都由python-office庫的開發(fā)者幫我們封裝好了。
office.wechat.send_file(who=, file=),分別在括號里寫上微信昵稱和文件地址。
上代碼~
import openpyxl, office #導入兩個庫,第一個處理excel,第二個用到微信發(fā)消息功能,第二個庫還有很多強大便捷的功能。
wb = openpyxl.load_workbook('C:/CoderWanFeng/./././???.xlsx') #括號中寫匯總文件地址
ws = wb['Sheet1'] #獲取excel表單
Names = ws['B'] #獲取表單中第二列,我的表單第二列是微信昵稱,可以根據實際進行調整
max_row = ws.max_row #獲取excel的最大行數
for Name in Names: #第5行代碼獲得的昵稱需要遍歷
Name = Name.value #遍歷出來的是元祖,需要用value進行取值
if Name == '程序員晚楓': #我的excel B1單元格寫的是程序員晚楓,大家可以根據實際調整
continue
else:
wb = openpyxl.load_workbook('C:/Users/./././???.xlsx')
ws = wb['Sheet1']
for j in range(max_row, 1, -1): #倒著遍歷,方便刪除時不錯序
if ws[f'B{j}'].value != Name:
ws.delete_rows(j) #刪除行
file_path = f'C:/Users/./././{Name}.xlsx' #重命名
wb.save(file_path) #保存excel
office.wechat.send_file(who=Name, file=file_path) #通過微信發(fā)送文件,分別在括號里寫上微信昵稱和文件地址。“如何用Python實現(xiàn)按姓名拆分Excel為單獨文件并自動發(fā)給相應聯(lián)系人”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網站,小編將為大家輸出更多高質量的實用文章!
網頁名稱:如何用Python?實現(xiàn)按姓名拆分Excel為單獨文件并自動發(fā)給相應聯(lián)系人
標題網址:http://chinadenli.net/article38/ipscpp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供外貿建站、ChatGPT、全網營銷推廣、網站策劃、電子商務、云服務器
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)