如何将存储的行添加回DataFrame顶部,还原CSV原始格式?
将保留的头部行恢复到DataFrame顶部以匹配原CSV格式
要让处理后的数据导出后和原CSV格式一致,你可以通过拼接DataFrame的方式把info中的头部行重新放回最上方,同时还原原有的列名行结构,具体代码如下:
import pandas as pd # (你的原有处理代码) data = pd.read_csv(r"test.csv", header=None) info = data.iloc[0:3,] data = data.iloc[3:,] data.columns = data.iloc[0] data = data[1:] data = data.reset_index(drop=True) # ------------------- 新增恢复头部的代码 ------------------- # 将当前data的列名转为单行DataFrame,匹配info的无表头格式 column_row = pd.DataFrame([data.columns.values]) # 按顺序拼接头部信息、列名行、处理后的数据 final_df = pd.concat([info, column_row, data], ignore_index=True) # 导出CSV,不设置表头(因为所有内容已包含在数据行中) final_df.to_csv("output.csv", header=False, index=False)
关键说明:
- 原CSV的结构是「3行头部信息 → 1行列名 → 数据行」,所以需要把处理后
data的列名重新转成一行数据,才能和info格式统一 pd.concat会按顺序合并三个部分,ignore_index=True用于重置索引,避免出现重复索引问题- 导出时必须设置
header=False,否则会额外添加一行表头,破坏原格式
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

