You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中向现有CSV文件追加新列的实现方法

实现CSV追加新列的两种方案

方案1:使用pandas(代码更简洁,推荐)

首先安装依赖:pip install pandas

import pandas as pd

# 读取原CSV文件
df = pd.read_csv("example.csv")
# 获取函数返回的新列数据
new_col = f.fraction('function')
# 如果返回值是带空格的字符串格式数组,先转成数值列表:
# new_col = [float(x) for x in new_col.strip('[]').split()]

# 追加新列
df['new_function'] = new_col
# 保存回原CSV,不导出索引列
df.to_csv("example.csv", index=False)

方案2:使用Python标准库实现(无需安装第三方依赖)

import csv

# 读取原CSV所有行数据
with open("example.csv", "r", newline="", encoding="utf-8") as f:
    reader = csv.reader(f)
    rows = list(reader)

# 获取新列数据
new_col = f.fraction('function')
# 如果返回值是带空格的字符串格式数组,先转成字符串列表:
# new_col = [x.strip() for x in new_col.strip('[]').split()]

# 表头追加新列名
rows[0].append("new_function")
# 逐行追加新列数值
for i in range(1, len(rows)):
    rows[i].append(str(new_col[i-1]))

# 写回原CSV文件
with open("example.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerows(rows)

注意事项

  • 需保证函数返回的数组长度和CSV除表头外的行数完全一致,否则会报长度不匹配错误
  • 若原CSV存在特殊编码,可修改代码中encoding参数适配

内容的提问来源于stack exchange,提问作者Emotional Damage

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 13:36:07