日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

表格某一列不固定其余全固定_如何利用Python一键拆分表格并进行邮件发送~

發布時間:2025/4/5 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 表格某一列不固定其余全固定_如何利用Python一键拆分表格并进行邮件发送~ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為平時經常要將 一張表 拆成工作簿,拆完還要發給不同的對象,工作又使用outlook發郵件,所以本文調用outlook賬號進行郵件的發送作為示例:在 一張表拆成多個sheet的基礎上,修改了代碼,可實現一表拆成多個工作簿。 如果想調用其他郵箱可參見文末參考鏈接,你也可以舉一反三。

一表拆成多個表

這個拆表代碼是我能找到的最簡潔的了。首先用 ExcelWriter 生成一個拆完表后的容納工作簿,然后調用了 For 循環對某一列進行遍歷,area_list 取自表格的某一列,這一列有多少種因子,就拆成多少個表,例如北京、深圳等等。

最后通過循環每一個因子生成一個表,寫入之前建好的工作簿中直至循環結束。

小提示:python對空格敏感,不信你把writer.save和上一行對齊看看效果是什么樣的。

(大表)

(拆分表)

import pandas as pdimport xlsxwriterimport xlrddata = pd.read_excel(r"C:甥敳獲PycharmProjects拆分自動郵件發送chaifen.xlsx", encoding='gbk')area_list = list(set(data['店鋪']))writer = pd.ExcelWriter(r"C:甥敳獲PycharmProjects拆分自動郵件發送拆好的表1.xlsx", engine='xlsxwriter')data.to_excel(writer, sheet_name="總表", index=False)# 遍歷for j in area_list: df = data[data['店鋪'] == j] df.to_excel(writer, sheet_name=j, index=False)writer.save() # 一定要加上這句代碼,“拆好的表”才會顯示出來

參考:https://me.csdn.net/weixin_41261833

一表拆成多個表

這個拆表代碼是我能找到的最簡潔的了。首先用 ExcelWriter 生成一個拆完表后的容納工作簿,然后調用了 For 循環對某一列進行遍歷,area_list 取自表格的某一列,這一列有多少種因子,就拆成多少個表,例如北京、深圳等等。

最后通過循環每一個因子生成一個表,寫入之前建好的工作簿中直至循環結束。

小提示:python對空格敏感,不信你把writer.save和上一行對齊看看效果是什么樣的。

(大表)

(拆分表)

import pandas as pdimport xlsxwriterimport xlrddata = pd.read_excel(r"C:甥敳獲PycharmProjects拆分自動郵件發送chaifen.xlsx", encoding='gbk')area_list = list(set(data['店鋪']))writer = pd.ExcelWriter(r"C:甥敳獲PycharmProjects拆分自動郵件發送拆好的表1.xlsx", engine='xlsxwriter')data.to_excel(writer, sheet_name="總表", index=False)# 遍歷for j in area_list: df = data[data['店鋪'] == j] df.to_excel(writer, sheet_name=j, index=False)writer.save() # 一定要加上這句代碼,“拆好的表”才會顯示出來

參考:https://me.csdn.net/weixin_41261833

分別發送和抄送給多個人

建一個附件和收件人的索引,用之前給文件命名的變量j ,索引到收件人'Rec'列中'店鋪'列等于 j的行。

最后構建郵件發送的函數,包括收件人、抄送人、附件、正文等,從拆分到郵件整個過程不超過1分鐘。

import pandas as pdimport xlrddata = pd.read_excel(r"C:甥敳獲PycharmProjects拆分自動郵件發送chaifen.xlsx", encoding='gbk')data2 = pd.read_excel(r"C:甥敳獲PycharmProjects拆分自動郵件發送郵件人員清單清單.xlsx", converters={'dep2':str, 'Rec':str, 'Cc':str},encoding='gbk')area_list = list(set(data['店鋪']))# 遍歷for j in area_list: df = data[data['店鋪'] == j] writer = pd.ExcelWriter(f'{str( j )} 拆分自動郵件發送.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name=j, index=False) writer.save() # 一定要加上這句代碼,“拆好的表”才會顯示出來for j in area_list: def send_mail(): outlook = win32.Dispatch('Outlook.Application') # 固定寫法 mail_item = outlook.CreateItem(0) # 0: olMailItem mail_item.to = list(data2['Rec'][data2['店鋪'] == j])[0] #收件人 mail_item.cc = list(data2['Cc'][data2['店鋪'] == j]) [0] #抄送人 # mail.Recipients.Add(addressee) mail_item.Subject = 'Mail Test5'+'you are the best' mail_item.BodyFormat = 2 # 2: Html format mail_item.HTMLBody = '''

Hello, This is a test mail.

Hello Guys. Do you want to come with us? ''' mail_item.Attachments.Add(r'C:甥敳獲PycharmProjects拆分自動郵件發送'+f'{str( j )} 拆分自動郵件發送.xlsx', 1, 1, f'{str( j )} 拆分自動郵件發送.xls') mail_item.Send() if __name__ == '__main__': send_mail() print('success')

源碼私信小編01獲取哦!

總結

以上是生活随笔為你收集整理的表格某一列不固定其余全固定_如何利用Python一键拆分表格并进行邮件发送~的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。