Python 实现 Pandas 文件分组处理、地市拆分及邮件发送:附代码优化建议
```python import pandas as pd import smtplib from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders def process_and_send_emails(file_path, mapping_table): data = pd.read_csv(file_path) group1 = data[data['column_name'].str.contains('一级')] group2 = data[~data['column_name'].str.contains('一级')] for city, data_subset in data.groupby('city_column_name'): file_name = f'{city}.csv' data_subset.to_csv(file_name, index=False) msg = MIMEMultipart() msg['From'] ='sender@example.com' msg['To'] ='recipient@example.com' msg['Subject'] = f'数据报告 - {city}' body = f'{city},有“一级”{len(group1[data_subset["column_name"].str.contains("一级")])},没有“一级”{len(group2[data_subset["column_name"].str.contains("一级")])}' msg.attach(MIMEText(body, 'plain')) attachment = open(file_name, 'rb') part = MIMEBase('application', 'octet-stream') part.set_payload((attachment).read()) encoders.encode_base64(part) part.add_header('Content-Disposition', "attachment; filename= %s" % file_name) msg.attach(part) s = smtplib.TP('smtp.example.com') s.send_message(msg) s.quit() # 以下是三个改进建议: # 1. 增加异常处理,例如在读取文件、发送邮件等操作时处理可能出现的错误。 # 2. 对邮件内容进行更详细和清晰的格式化,使其更易于阅读。 # 3. 可以考虑将数据处理和邮件发送的部分封装成独立的函数,提高代码的可维护性。 ``` ######[AI写代码神器 | 459点数解答 | 2024-12-25 01:17:06]
- 批处理文件:依据参数表.xlsx精准修改文件.txt中p、t、s值(GPT | 811点数解答 | 2024-12-05 12:58:37)378
- 用批处理和Python实现“参数表.xlsx”与“文件.txt”数据匹配及修改(讯飞星火 | 531点数解答 | 2024-12-05 13:20:42)366
- 批处理文件:依据参数表.xlsx精准修改文件.txt特定参数值(阿里通义 | 495点数解答 | 2024-12-05 13:22:26)348
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)458
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- PHP代码:循环检测域名状态,借助HTTP请求与CURL实现(GPT | 947点数解答 | 2024-10-27 11:56:50)260
- Python 利用 win32com 库:将 Excel 转换为 A4 横向 PDF 并单独打印首列(字节豆包 | 507点数解答 | 2025-03-10 15:48:12)302
- Python 实现将当前目录文件名写入 url.txt,附三大实用改进建议!(字节豆包 | 127点数解答 | 2024-12-25 11:19:25)236
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)414
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)405
- CentOS下Java进程出现futex_wait_queue_me问题的处理全流程(阿里通义 | 283点数解答 | 2023-11-20 14:51:26)459
- 替雷利珠单抗致免疫相关性糖尿病:病例报道与机制探讨,为临床用药敲响警钟( | 164点数解答 | 2024-10-11 14:52:52)264