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

Pandas转换/处理CSV时自动添加行号列如何避免?

解决Pandas保存CSV时自动添加行号列的问题

嘿,这个问题我刚学Pandas的时候也踩过坑!其实原因很简单:Pandas的to_csv()方法默认会把DataFrame的索引(也就是你看到的行号)写入到CSV文件里,所以下次读取的时候,这个索引就变成了一个无列名的Unnamed: 0列。

给你两种解决思路,按需选择:

1. 优化整个流程(推荐)

不用生成中间的test.csv文件,直接从JSON读取后处理并保存,一步到位还能减少冗余操作:

import pandas as pd

# 读取JSON数据
data = pd.read_json("test.json")
# 删除不需要的列
data = data.drop(["cashtag", "id", "source"], axis=1)
# 保存CSV时添加index=False,禁止写入索引列
data.to_csv("test_cleaned.csv", index=False)
# 查看处理后的结果
data.head()

2. 修改现有代码的关键参数

如果你还是想保留中间文件的步骤,只需要在每次调用to_csv()时加上index=False参数即可:

  • 转换JSON到CSV时:
pd.read_json("test.json").to_csv("test.csv", index=False)
  • 处理后保存清理后的CSV时:
data.to_csv("test_cleaned.csv", index=False)

额外小技巧:处理已有的带Unnamed列的CSV

如果已经生成了带Unnamed: 0列的CSV文件,读取时可以直接把它当作索引,或者读取后删除:

# 方法1:读取时指定index_col=0,把Unnamed列当作DataFrame的索引
data = pd.read_csv("test.csv", index_col=0)

# 方法2:读取后直接删除该列
data = pd.read_csv("test.csv").drop("Unnamed: 0", axis=1)

这样处理后,你的输出CSV就只会保留sentiment score和spans这两列,不会再出现额外的行号列啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:00:17