如何使用Python和Pandas从Excel表格中移除另一表格的用户并生成新表
用Pandas实现Excel表格的用户筛选需求
核心实现代码
先确保安装必要依赖包:
pip install pandas openpyxl
运行以下Python脚本即可完成需求:
import pandas as pd # 读取两个Excel文件,替换为你的实际文件路径 df_test1 = pd.read_excel('Test1.xlsx', engine='openpyxl') df_test2 = pd.read_excel('Test2.xlsx', engine='openpyxl') # 提取Test2中的用户列表并转为集合(提升查询效率) test2_users = set(df_test2['user'].dropna()) # 筛选Test1中不在Test2里的用户 result_df = df_test1[~df_test1['user'].isin(test2_users)] # 保存结果到新Excel文件,index=False避免写入行索引 result_df.to_excel('剩余用户表.xlsx', index=False, engine='openpyxl')
关键细节说明
- 列名替换:如果你的用户列不是
user,把代码中所有'user'替换成实际列名(比如'用户名') - 多Sheet处理:如果表格有多个工作表,在
read_excel里添加sheet_name参数指定目标Sheet,例如sheet_name='用户列表' - 空值处理:
dropna()会跳过Test2中用户列的空值,避免把空值当成有效用户过滤
自动化建议
把脚本保存为user_filter.py,每周直接运行脚本即可完成操作;若想完全自动化,可借助系统定时任务:
- Windows:用「任务计划程序」创建定时任务,每周指定时间运行该脚本
- Linux/macOS:通过
cron添加定时任务,比如每周一凌晨执行:0 2 * * 1 python3 /path/to/user_filter.py
内容的提问来源于stack exchange,提问作者mcodeb
相关产品推荐
相关产品推荐

