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

如何移除重复列、添加datetime列并清理销售数据集的总计行

整理多组重复结构的每日销售数据

Excel Power Query 操作方案

适合无代码基础的用户,通过可视化界面完成数据规整:

  1. 导入数据到Power Query
    选中目标数据区域,按Ctrl+T转为Excel表,点击「数据」选项卡→「从表格/区域」进入Power Query编辑器。
  2. 标记每行所属日期
    • 添加自定义列,公式为=IF(ISDATE([Column1]), [Column1], null),命名为datetime。
    • 选中datetime列,点击「转换」选项卡→「填充」→「向下」,让所有数据行关联到对应日期。
  3. 剔除无效行
    添加三个自定义列识别无效行:
    • IsDate:=ISDATE([Column1])(标记日期标题行)
    • IsHeader:=[Column1] = "Salesperson"(标记重复表头行)
    • IsTotal:=[Column1] = "总计"(标记总计行)
      筛选掉IsDate=TRUE、IsHeader=TRUE、IsTotal=TRUE的所有行。
  4. 设置标准列名
    回到原始数据,复制任意一行表头(值为Salesperson的行)的所有列值;返回处理后的表,点击「主页」→「使用第一行作为标题」下拉菜单→「将标题替换为」,粘贴复制的列名。
  5. 导出整理后的数据
    点击「主页」→「关闭并上载」,将规整好的数据加载回Excel工作表。

Python Pandas 代码方案

适合批量处理或自动化需求,代码如下:

import pandas as pd

# 读取原始数据(不指定表头,因表头重复出现)
df = pd.read_excel("销售数据.xlsx", header=None)

# 识别日期并向下填充,为每行分配对应日期
df["datetime"] = df[0].apply(lambda x: pd.to_datetime(x, errors="coerce")).ffill()

# 剔除日期标题行、重复表头行、总计行
df = df[
    (df[0] != df["datetime"].dt.strftime("%Y-%m-%d"))
    & (df[0] != "Salesperson")
    & (df[0] != "总计")
]

# 设置标准列名
df.columns = ["Salesperson", "north", "east", "south", "west", "datetime"]

# 重置索引并保存结果
df = df.reset_index(drop=True)
df.to_excel("整理后销售数据.xlsx", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 16:47:42