Python排序候选人评分数据导出Excel及Pandas安装失败求助
解决Python 3.3.5(Windows7 32位)下Pandas安装失败及邮件评分排序导出Excel问题
看起来你在处理候选人邮件评分的任务时遇到了两个棘手的问题:Pandas安装失败,以及后续的排序导出需求。我来一步步帮你解决:
一、解决Pandas安装故障
你碰到的Command "python setup.py egg_info" failed错误,核心原因是Python 3.3.5版本过于老旧(2014年发布),而最新版的Pandas早已不再支持Python 3.3。要搞定这个问题,你需要安装与Python 3.3兼容的Pandas旧版本:
- 先安装兼容的numpy依赖(Pandas依赖numpy,同样需要对应旧版本):
pip install numpy==1.11.3 - 再安装最后一个支持Python 3.3的Pandas版本:
pip install pandas==0.19.2
如果安装时还是有权限问题,记得右键CMD选择「以管理员身份运行」后再执行命令。
二、排序导出Excel的实现(Pandas方案)
当Pandas安装成功后,你可以按照以下步骤完成评分降序排序并导出Excel:
- 先把你处理好的1000+条候选人邮件数据整理成列表格式(每个元素是包含候选人信息和评分的字典);
- 用Pandas创建DataFrame,然后按评分列降序排序;
- 导出到Excel文件(注意:Pandas 0.19.2导出Excel需要依赖
xlwt库,先执行pip install xlwt==1.3.0安装)。
示例代码如下:
import pandas as pd # 假设这是你处理后的候选人数据,实际替换成你的真实数据 candidate_records = [ {"候选人姓名": "张三", "邮件主题": "应聘XX岗位", "评分": 92}, {"候选人姓名": "李四", "邮件主题": "求职申请", "评分": 85}, {"候选人姓名": "王五", "邮件主题": "XX岗位自荐", "评分": 96}, # 更多数据... ] # 将数据转换为DataFrame df = pd.DataFrame(candidate_records) # 按「评分」列降序排序,ascending=False表示从高到低排列 sorted_df = df.sort_values(by="评分", ascending=False) # 导出到Excel,index=False表示不导出DataFrame的索引列 sorted_df.to_excel("候选人评分排序结果.xls", index=False)
三、替代方案(无需Pandas)
如果Pandas安装依然遇到问题,你可以用Python自带的csv模块完成排序导出,之后用Excel打开CSV文件并手动转成Excel格式即可:
import csv # 同样假设这是你的候选人数据 candidate_records = [ {"候选人姓名": "张三", "邮件主题": "应聘XX岗位", "评分": 92}, {"候选人姓名": "李四", "邮件主题": "求职申请", "评分": 85}, {"候选人姓名": "王五", "邮件主题": "XX岗位自荐", "评分": 96}, # 更多数据... ] # 按评分降序排序:用lambda函数指定排序依据为「评分」,reverse=True表示降序 sorted_records = sorted(candidate_records, key=lambda x: x["评分"], reverse=True) # 写入CSV文件,utf-8-sig编码避免Excel打开时出现乱码 with open("候选人评分排序结果.csv", "w", newline="", encoding="utf-8-sig") as csv_file: # 定义表头 field_names = ["候选人姓名", "邮件主题", "评分"] writer = csv.DictWriter(csv_file, fieldnames=field_names) writer.writeheader() # 写入表头 writer.writerows(sorted_records) # 写入所有排序后的数据
写完CSV后,你可以直接用Excel打开这个文件,然后通过「文件」→「另存为」选择Excel格式(.xls或.xlsx)保存即可。
内容的提问来源于stack exchange,提问作者Sanket
相关产品推荐
相关产品推荐

