Python辦公實戰!按姓名拆分Excel為單獨文件,微信自動發給相應聯繫人
大家好,這裏是Python程序員晚楓,今天給大家分享一篇讀者的來稿:Python + Excel自動化辦公,在工作中的實際應用。
歡迎大家總結pip install python-office的使用經驗,聯繫我投稿喲~
一、前言
最近遇到一個需求:
- 把員工信息彙總表excel,按員工姓名拆分成單獨的excel,新excel以員工姓名命名,裏面第一行是表頭,第二行是員工信息。
- 然後把excel通過微信單獨發送給每位員工。
這個需求適用於發送月度工資表、學校學生信息統計等場景。
在B站上找到@程序員晚楓
,大神製作的python-office庫可以完美實現這個功能,在此拜謝,給大佬端茶。動手操作過程中遇到一些困難,把我的解決思路寫下,供大家參考。
二、準備環境
1、請適用python 3.8.9 64位版本
其他版本在安裝python-office庫時會遇到各種問題,解決起來費時費力,建議直接使用python 3.8.9 64位版本,只需要在pycharm上搭建一個新環境,就可以輕鬆安裝使用了。
2、安裝python-office
pip install python-office
3、還會使用openpyxl這個庫,用來處理excel。
三、思路分析
1、讀取excel
用openpyxl
庫的load_workbook()
讀取相應的表格,表單和單元格都用列表的形式使用就行,例如['Sheet1'].['B1']
2、刪除excel不用的行
openpyxl庫的刪除整行命令是ws.delete_rows()
,括號中輸入行號,刪除行時要注意從後往前刪除,否則行號會出現錯誤:
比如刪除了第二行後要刪第三行,這時第三行已經變成了第二行,給刪除造成麻煩,從後往前刪就不會出現這個問題。
這裏會用到最大行,命令為ws.max_row
,接着用for遍歷,需要倒着數,for i in range(ws.max_row, 1, -1)
,這樣就從最後一行開始遍歷,一直遍歷到第二行,把不想要的用ws.delete_rows(i)
刪除就行。
3、保存成單獨excel。
wb.save()
,括號中寫新的文件名
4、利用python-office庫發送微信消息。
只需要用到一行命令,簡單背後的複雜都由python-office
庫的開發者幫我們封裝好了,吃水不忘挖井人,給晚楓大神獻上膝蓋。
office.wechat.send_file(who=, file=)
,分別在括號裏寫上微信暱稱和文件地址。
四、代碼展示
上代碼~
import openpyxl, office #導入兩個庫,第一個處理excel,第二個用到微信發消息功能,第二個庫還有很多強大便捷的功能。
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) #通過微信發送文件,分別在括號裏寫上微信暱稱和文件地址。
- 幫師姐把100個Excel中符合條件的數據,彙總到1個Excel裏
- 176萬!GPT-4發佈了,如何查看OpenAI的下載量?
- 1行Python代碼,把PPT轉成圖片,python-office功能更新~
- 定了!Python3.7,今年停止更新!
- 1行Python代碼去除圖片水印,網友:乾乾淨淨!
- Python辦公實戰!按姓名拆分Excel為單獨文件,微信自動發給相應聯繫人
- 12個Python自動化辦公的官方文檔,中文版只有2個?
- 終究還是錯付了!這2種Python寫法已經被淘汰了,你是不是還在用?
- 用Python下載B站視頻?1行命令搞定,悄悄用
- 用Python自動生成 圖文並茂的數據分析 報告
- 自動合併Excel的4種方法,pandas自動化辦公,YYDS
- 絕了!深度解析了1道華為Python筆試題,竟然可以學會12種Python里正則表達式的用法
- 1行Python代碼,實現PDF轉圖片,速度太太太太太快了
- 1行Python代碼,拿到周杰倫新歌的MP3文件,終於可以免費聽周杰倫了
- 官方推薦:6種Pandas讀取Excel的方法,太方便了~
- 如何生成1億個手機號碼?Python生成隨機數的22種方法,random函數太強了~
- 新人必看:python自動化辦公,開源項目的目錄結構
- 一行Python代碼,給PDF文件添加水印
- 太厲害了,通過文檔內容快速查找文件,1行Python代碼實現
- 一行Python代碼,如何成為辦公小助手?這5個操作,超實用!