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

如何在Pandas中为CSV添加表头且不覆盖首行数据?

解决Pandas导入CSV时覆盖首行数据的问题

当你直接用read_csv导入无表头的CSV,再手动设置列名时,原首行数据会被当成表头覆盖掉,这里有两种靠谱的解决办法:

方法一:导入时直接指定无表头,同时设置列名

导入CSV的时候,通过header=None告诉Pandas这个文件没有表头,首行就是数据,然后直接用names参数设置列名,一步到位:

import pandas as pd
# 导入时指定无表头,同时设置列名
nocolumns = pd.read_csv("nocolumns.csv", header=None, names=["Col1", "Col2", "Col3", "Col4"])

方法二:修复已导入的DataFrame(适合已经执行了原代码的情况)

如果已经按原代码导入了数据,首行被当成表头了,可以把原表头转成数据行,再设置新列名:

import pandas as pd
nocolumns = pd.read_csv("nocolumns.csv")

# 把原表头转成一行数据,添加到DataFrame开头
new_row = pd.Series(nocolumns.columns, index=nocolumns.columns)
nocolumns = pd.concat([pd.DataFrame([new_row]), nocolumns], ignore_index=True)

# 设置新的列名
nocolumns.columns = ["Col1", "Col2", "Col3", "Col4"]

这样就能保留原本的首行数据,同时设置正确的表头了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 21:57:32