使用Pandas合并CSV文件出错:如何实现单列前置行级合并?
正确的合并代码示例
要避免这些问题,你可以试试这段代码,我专门针对你的场景做了优化:
import pandas as pd # 读取fileB:指定无表头,自定义列名为'label' df_label = pd.read_csv('fileB.csv', header=None, names=['label']) # 读取fileA:同样无表头,让Pandas自动生成列名(0到783) df_features = pd.read_csv('fileA.csv', header=None) # 先检查行数是否一致,提前发现问题 assert len(df_label) == len(df_features), "两个文件的行数不匹配,请检查原始文件!" # 按列合并:把标签列放在最前面,后面跟所有特征列 df_combined = pd.concat([df_label, df_features], axis=1) # 保存结果:不要表头和索引,完全符合你要的格式 df_combined.to_csv('fileC.csv', header=False, index=False)
这段代码做了几个关键处理:
- 读取时明确
header=None,避免把数据行当成表头 - 用
concat+axis=1实现按行对应的列合并逻辑 - 加入断言检查行数,提前拦截不匹配的问题
- 保存时去掉表头和索引,输出格式完全符合需求
内容的提问来源于stack exchange,提问作者Bn.F76
相关产品推荐
相关产品推荐

