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

合并多个CSV到Pandas DataFrame结果异常,如何正确处理?

问题原因

你的CSV文件没有表头,但代码中使用了header=0参数,这会让pandas把每个CSV的第一行数据当成列名:

  • 1.csv的第一行1,1被识别为列名1和1.1(重复列名自动重命名)
  • 2.csv的第一行6,1被识别为列名6和1
    合并时pandas会按列名对齐,就出现了列错位、NaN值的异常结果。
修正方案

读取CSV时指定header=None(告诉pandas文件无表头,自动生成默认列名),合并后保存时去掉索引和默认表头:

import pandas as pd
import glob

# 读取所有CSV文件,指定无表头
files = glob.glob("data/*.csv")
df_list = []
for f in files:
    csv_df = pd.read_csv(f, header=None, index_col=None)
    df_list.append(csv_df)

# 合并DataFrame
combined_df = pd.concat(df_list, axis=0, ignore_index=True)

# 保存为CSV,不写索引和表头
combined_df.to_csv("all.csv", index=False, header=False)
print(combined_df)
验证结果

执行后生成的all.csv内容会和你期望的一致:

1,1
2,1
3,1
4,1
5,1
6,1
7,1
8,1
9,1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:10:15