
本文介绍如何利用 Python 的 Pandas 库,向现有 CSV 文件中新增一列(如 salary),并自动计算指定多列(如 basic_sal、Allowance、Perk)的行级总和,最后保存更新后的数据。
本文介绍如何利用 python 的 pandas 库,向现有 csv 文件中新增一列(如 `salary`),并自动计算指定多列(如 `basic_sal`、`allowance`、`perk`)的行级总和,最后保存更新后的数据。
在数据处理任务中,经常需要基于已有数值列动态生成新列——例如将基本工资、津贴与福利相加得到总薪资。Pandas 提供了简洁高效的向量化操作,远优于逐行循环或 shell 工具(如 awk)的手动解析,尤其适合结构清晰的表格型 CSV 数据。
以下是一个完整可执行的解决方案:
import pandas as pd
# 读取原始 CSV 文件(请将路径替换为实际文件路径)
df = pd.read_csv("sample.csv")
# 创建新列 'salary',值为三列之和:basic_sal + Allowance + Perk
df["salary"] = df["basic_sal"] + df["Allowance"] + df["Perk"]
# 可选:将结果写回 CSV 文件(index=False 避免额外索引列)
df.to_csv("output.csv", index=False)
# 查看前几行验证结果
print(df.head())
运行后,原始数据:
Emdid,name,basic_sal,Allowance,Perk 11,Dave,1100,500,50 22,Gina,1000,600,50 33,Kyle,2000,300,100
将变为:
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
Emdid,name,basic_sal,Allowance,Perk,salary 11,Dave,1100,500,50,1650 22,Gina,1000,600,50,1650 33,Kyle,2000,300,100,2400
✅ 注意事项:
- 确保列名准确匹配(区分大小写),建议先用 df.columns.tolist() 检查原始列名;
- 若存在缺失值(NaN),加法结果也会是 NaN,可提前用 df.fillna(0) 处理;
- 如需保留原始文件,务必使用不同输出路径,避免覆盖;
- 对于超大 CSV(千万行以上),可考虑 chunksize 分块处理,但本例中的列运算仍推荐一次性向量化完成。
该方法兼具可读性、可维护性与扩展性——后续若需添加更多列(如 tax、net_salary),只需新增赋值语句即可,无需修改底层逻辑。










