XLSX 反透视规范化

将宽表(多列月份)反透视为长表(month/value)以便入库

保留 ID 列,将指标列折叠为 key/value 结构。

示例结果

1 个示例

宽表月度列反透视

将 Jan/Feb/Mar 列转换为 month/value 长表

xlsx-unpivot-normalizer-example1.xlsx 查看文件
查看输入参数
{ "excelFile": "/public/samples/xlsx/workbook-sales.xlsx", "idColumns": "name,region", "valueColumns": "Jan,Feb,Mar", "keyColumnName": "month", "valueColumnName": "value" }

Click to upload file or drag and drop file here

Maximum file size: 100MB Supported formats: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel

关键信息

分类
转换与编码
输入类型
file, text, number, select, checkbox
输出类型
file
样本覆盖
4
支持 API
Yes

概览

XLSX 反透视规范化工具专为数据转换设计,能将包含多列指标(如月份、产品)的 Excel 宽表,高效转换为标准的长表格式(key/value 结构)。此过程保留关键的 ID 列,使数据更规整,便于导入数据库或进行后续分析。

适用场景

  • 当 Excel 表格中存在多列同类数据(如 Jan, Feb, Mar 月销售额),需要统一为一列时。
  • 当需要为数据库、BI 工具或机器学习模型准备结构化数据时。
  • 当需要对跨多列的数值进行统一的汇总、筛选或可视化分析时。

工作原理

  • 上传包含宽表数据的 Excel 文件(.xlsx 或 .xls)。
  • 指定需要保留的 ID 列(如产品ID、地区),以及需要转换的值列(如各月份列)。
  • 设置转换后键列(如 month)和值列(如 value)的名称。
  • 选择输出格式(XLSX 或 JSON),工具将自动完成反透视并生成规范化后的文件。

使用场景

将按月分列的销售报表转换为时间序列格式,便于制作趋势图表。
规范化从不同系统导出的、列结构不一致的宽表数据,统一后导入数据仓库。
为需要长格式输入的数据分析工具(如某些统计软件或可视化库)准备数据。

用户案例

1. 月度销售数据宽表转长表

数据分析师
背景原因
从 ERP 系统导出了一份销售报表,其中产品名称和地区为 ID 列,Jan、Feb、Mar 分别为各月的销售额,呈宽表结构。
解决问题
宽表结构不利于按时间维度进行趋势分析和数据库存储。
如何使用
上传 `sales_wide_table.xlsx` 文件。在 `ID 列` 中输入 `name,region`,在 `值列` 中输入 `Jan,Feb,Mar`。保持默认的键列名 `month` 和值列名 `value`。
效果
生成一个包含 name, region, month, value 四列的长表。每一行代表一个产品在一个地区的月度销售额,数据结构清晰,可直接用于时序分析或入库。

2. 库存记录反透视与 JSON 输出

后端开发工程师
背景原因
业务部门提供了一份 Excel 库存快照,其中 SKU 和仓库为标识列,A、B、C 三个货架的库存数量为值列。
解决问题
需要将数据转换为 JSON 格式,以便直接通过 API 写入库存管理系统。
如何使用
上传 `inventory_snapshot.xlsx`。设置 `ID 列` 为 `sku,warehouse`,`值列` 为 `A,B,C`。将 `键列名` 改为 `shelf`,`值列名` 改为 `stock`。在 `输出模式` 中选择 `JSON 格式`。
示例配置
{
  "excelFile": "inventory_snapshot.xlsx",
  "idColumns": "sku,warehouse",
  "valueColumns": "A,B,C",
  "keyColumnName": "shelf",
  "valueColumnName": "stock",
  "outputMode": "json"
}
效果
获得一个结构化的 JSON 文件,其中每个对象包含 sku、warehouse、shelf、stock 字段,可直接解析并用于 API 调用。

用 Samples 测试

xml, xlsx, xls

相关专题

常见问题

支持哪些 Excel 文件格式?

支持 .xlsx 和 .xls 格式。

如何处理值列中的空单元格?

默认会去除空值行。您可以在选项中取消勾选“去除空值”来保留它们。

可以自定义转换后的列名吗?

可以。通过“键列名”和“值列名”选项,您可以自定义输出表格中 key 和 value 列的标题。

输出文件有哪些格式可选?

支持输出为 XLSX 格式或 JSON 格式,您可以在“输出模式”中选择。

是否支持转换多个工作表?

每次操作处理一个指定的工作表。您可以通过“工作表名”选项指定要转换的工作表名称。

API 文档

请求端点

POST /zh/api/tools/xlsx-unpivot-normalizer

请求参数

参数名 类型 必填 描述
excelFile file (需要先上传) -
sheetName text -
headerRow number -
idColumns text -
valueColumns text -
keyColumnName text -
valueColumnName text -
outputMode select -
dropEmptyValues checkbox -
parseNumbers checkbox -

文件类型参数需要先通过 POST /upload/xlsx-unpivot-normalizer 上传获取 filePath,然后将 filePath 传递给对应的文件字段。

响应格式

{
  "filePath": "/public/processing/randomid.ext",
  "fileName": "output.ext",
  "contentType": "application/octet-stream",
  "size": 1024,
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
文件: 文件

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-xlsx-unpivot-normalizer": {
      "name": "xlsx-unpivot-normalizer",
      "description": "将宽表(多列月份)反透视为长表(month/value)以便入库",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=xlsx-unpivot-normalizer",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

支持 URL 文件链接或 Base64 编码作为文件参数。

如果遇见问题,请联系我们:[email protected]