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

如何避免导出CSV时输出DataFrame的索引ID?

问题解决方法

你的问题出在直接将整个DataFrame对象作为值传入writerrow,csv模块无法正确解析DataFrame,导致输出异常。以下是两种解决方式:

方法一:使用pandas自带的to_csv(推荐)

pandas内置的导出方法更简洁,能直接处理列名映射和索引移除:

data.to_csv('data.csv', columns=['id'], header=['ID'], index=False)
  • columns=['id']:指定只导出原DataFrame的id列
  • header=['ID']:将表头重命名为ID
  • index=False:禁止导出索引列

方法二:用csv模块逐行写入

如果坚持使用csv模块,需要遍历DataFrame的每一行,取出对应id值写入:

import csv
with open('data.csv', 'w', newline='') as csvfile:
    fieldnames = ['ID']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()
    # 遍历DataFrame的每一行,提取id值
    for _, row in data.iterrows():
        writer.writerow({"ID": row['id']})

错误原因说明

你之前的代码writer.writerrow({"ID":data})是把整个DataFrame对象赋值给了ID字段,csv模块会把DataFrame转换成字符串形式,因此出现了0 data这种异常输出——这不是索引的问题,而是传入的值本身不符合csv写入的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:15:32