Excel/Python实现Column1对应多行Column2数据横向规整需求
数据规整解决方案(Excel公式 + Python脚本)
Excel公式方案
前提:确保原始数据已按Column1列排序。
- 提取唯一Column1值:在空白列(如D列)输入公式
=UNIQUE(A:A),获取所有不重复的Column1值。 - 匹配对应Column2数据:在D1对应的第一个结果列(如E1)输入以下数组公式,按
Ctrl+Shift+Enter确认(Excel 365/2021可直接回车):=IFERROR(INDEX($B:$B,SMALL(IF($A:$A=$D1,ROW($A:$A)),COLUMN(A1))),"nil") - 批量填充:横向拖拽E1单元格至I列(共5列,对应最多5条数据),再纵向拖拽整行公式至所有唯一值行,不足5条的位置会自动填充
nil。
Python脚本方案
使用pandas库快速处理大量数据,步骤如下:
import pandas as pd # 读取原始Excel数据 df = pd.read_excel("你的数据文件名.xlsx") # 按Column1分组,将对应Column2的值拆分为5列,空值填充为"nil" processed_df = df.groupby("Column1")["Column2"].apply(list).apply(pd.Series) processed_df.columns = [f"Column2_{num}" for num in range(1, 6)] processed_df = processed_df.fillna("nil") # 保存规整后的数据 processed_df.to_excel("规整后的数据.xlsx", index=True)
说明
- 替换代码中的
你的数据文件名.xlsx为实际文件路径。 - 最终输出的Excel中,每行对应一个唯一的Column1值,后续5列依次存放对应的Column2数据,不足的位置标记为
nil。
内容的提问来源于stack exchange,提问作者Arindam Deka
相关产品推荐
相关产品推荐

