如何将Excel多列数据转换为Pandas多行格式?
处理Excel数据生成目标DataFrame的步骤
根据你提供的原始Excel结构(Customer为跨行合并单元格,每个客户对应3条Code记录,Date为客户级别的统一值),可以通过以下步骤实现目标格式:
步骤1:读取Excel文件
首先读取你的Excel文件,保留原始行结构(包括合并单元格拆分后的空值):
import pandas as pd import numpy as np # 替换为你的Excel文件路径,表头位置根据实际情况调整 df_raw = pd.read_excel("your_file.xlsx", header=0)
步骤2:填充合并单元格产生的空值
原始Excel中Customer和Date是跨行合并的,读取后会出现空值,用向前填充补全这些重复值:
# 对Customer和Date列执行向前填充,补全合并单元格的空值 df_raw[["Customer", "Date"]] = df_raw[["Customer", "Date"]].ffill()
步骤3:整理列名与添加缺失列
确保列名与目标DataFrame匹配,同时添加空白的Point_1和Point_2列:
# 重命名列名(根据你的原始Excel列名调整对应关系) df_raw = df_raw.rename(columns={ "原始Code列名": "Code", "原始Code名称列名": "Code Name" }) # 添加Point列并赋值为NaN df_raw[["Point_1", "Point_2"]] = np.nan
步骤4:调整列顺序(可选)
如果需要和目标DataFrame的列顺序完全一致,手动指定列顺序并重置索引:
df_final = df_raw[["Code", "Code Name", "Date", "Customer", "Point_1", "Point_2"]].reset_index(drop=True)
运行以上代码后,df_final就会生成你需要的格式。
内容的提问来源于stack exchange,提问作者hoa tran
相关产品推荐
相关产品推荐

