中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Python?實現按姓名拆分Excel為單獨文件并自動發給相應聯系人

發布時間:2022-10-14 16:17:38 來源:億速云 閱讀:196 作者:iii 欄目:web開發

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

一、前言

最近遇到一個需求:

  • 把員工信息匯總表excel,按員工姓名拆分成單獨的excel,新excel以員工姓名命名,里面第一行是表頭,第二行是員工信息。

  • 然后把excel通過微信單獨發送給每位員工。

這個需求適用于發送月度工資表、學校學生信息統計等場景。

二、準備環境

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)  #通過微信發送文件,分別在括號里寫上微信昵稱和文件地址。

“如何用Python實現按姓名拆分Excel為單獨文件并自動發給相應聯系人”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邛崃市| 榆林市| 新竹县| 兴化市| 磐石市| 玛沁县| 颍上县| 曲麻莱县| 延津县| 鸡东县| 西峡县| 容城县| 仙桃市| 清苑县| 弋阳县| 大港区| 鄄城县| 白城市| 静乐县| 兰西县| 长沙市| 小金县| 襄城县| 龙陵县| 连州市| 惠东县| 临清市| 原平市| 南安市| 建昌县| 西安市| 济阳县| 延川县| 兖州市| 治县。| 平江县| 朝阳区| 寻乌县| 西乌| 乌拉特中旗| 德阳市|