# @flourish/transform-data 中文文档

规范地址：https://npmcn.com/package/%40flourish/transform-data/

版本：2\.1\.0
npm 元数据更新时间：2026-08-19T18:13:42.466Z
中文译文更新时间：2026-11-15T00:09:20.611Z
软件包许可：UNLICENSED

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40flourish/transform-data
原文对照：https://npmcn.com/package/%40flourish/transform-data/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.9 MB，20 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2019-04-16T13:08:03.385Z
- 最新版本发布：2021-02-19T15:04:15.530Z
- 近 30 天下载量：5048（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 0 个）

## 中文简介

重排数据

## 安装

```sh
npm install @flourish/transform-data
```

也可以使用：`pnpm add @flourish/transform-data`、`yarn add @flourish/transform-data`、`bun add @flourish/transform-data`

## README

# 转换数据

此模块导出一系列转换数据功能( 对象阵列和数组阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列阵列) , 可能有用于可视化编辑器或用于 API .

## `pivotObjects(input_data, headers_column, values_column)`

需要一系列对象, `input_data`中的属性 `input_data` 对象。 输出数据随后是: `input_data` 带有属性 `headers_column` 和数值 `values_column`。这与Excel pivot表操作类似,一般会将"长"数据变成"广"数据. 它还增加了一个 `column_names` 属性到对面粉API有用的输出数组.

## `pivotArrays(input_data, headers_index, values_index)`

需要一系列阵列, `input_data`,两个数字应指每个内数组内的索引。 第一个要素是: `input_data` 应包含信头。 输出数据随后是: `input_data` 带有属性 `headers_index` 条目和数值 `values_index` 条目。 这与Excel pivot表操作类似,一般会将"长"数据转化为"广"数据.

## `meltObjects(input_data, melt_columns, opts)`

需要一系列对象, `input_data`,以及一系列财产名称, `melt_columns`编辑 `melt_columns` 然后用于为上行创建多行。 这是逆向操作 `pivotObjects` 并一般会将"广数据"变成"长数据". 它还增加了一个 `column_names` 属性到对面粉API有用的输出数组。 这个 `opts` 参数,如果存在,应该是一个最多具有三个(有用)属性的对象:

-   `variable_name`: 根据 `melt_columns` 属性(标题);
-   `value_name`: 根据 `melt_columns` 数值;
-   `keep_empty_strings`: 如果 `true`,保留行,否则会被忽略,因为关联值是一个空字符串.

## `meltArrays(input_data, melt_columns, opts)`

需要一系列阵列, `input_data`和一系列指数, `melt_columns`编辑 `melt_columns` 然后用于为上行创建多行。 第一个要素是: `input_data` 应包含信头。 这是逆向操作 `pivotArrays` 并一般会将"广数据"变成"长数据". 这个 `opts` 参数,如果存在,应该是一个最多具有三个(有用)属性的对象:

-   `variable_name`: 根据 `melt_columns` 属性(标题);
-   `value_name`: 根据 `melt_columns` 数值;
-   `keep_empty_strings`: 如果 `true`,保留行,否则会被忽略,因为关联值是一个空字符串.

## `flourishifyObjects(input_data, column_bindings, columns_bindings)`

需要一系列对象, `input_data`,最多两个物体, `column_bindings` 财务报告和审定财务报表 `columns_bindings`。然后这两个对象作为词典来转换 `input_data` 输入更符合面粉模板所用结构的输出数据。 每个键 `column_bindings` 对象应匹配 `type: column` 在模板中,数值应匹配输入数据中的密钥。 同样,每个关键 `columns_bindings` 匹配模板中的密钥 `type: columns` 而数值应该是其元素与输入数据中的密钥相匹配的数组(如果只想要将一列映射到给定的密钥,也可以使用字符串来代替数组). 此函数还将添加一个 `column_names` 属性到输出数组.

## `flourishifyArrays(input_data, column_bindings, columns_bindings)`

需要一系列 _数组_, (中文(简体) ), `input_data`,最多两个物体, `column_bindings` 财务报告和审定财务报表 `columns_bindings`。然后这两个对象作为词典来转换 `input_data` 输入数组 _对象_ 更符合面粉模板和API使用的结构。 每个键 `column_bindings` 对象应匹配 `type: column` 在模板中,数值应匹配输入数据的索引。 同样,每个关键 `columns_bindings` 匹配模板中的密钥 `type: columns` 而数值应该是其元素与输入数据中的索引相匹配的数组(如果只想要将一列映射到给定密钥,您也可以使用单个索引来代替数组). 此函数还将添加一个 `column_names` 属性到输出数组.

## `flourishify(input_data, column_bindings, columns_bindings)`

调用并返回结果 `flourishifyArrays` 或者说 `flourishifyObjects` (通过所有参数)基于 `input_data[0]` 是否是一个数组.

## `leftJoin(left_data, right_data, [options])`

期望两个阵列 - `left_data` 财务报告和审定财务报表 `right_data` - 还有 `options` 并返回左侧组合的数组 `left_data` 财务报告和审定财务报表 `right_data`。 。 。 . `options` 属性是 `left_index` 联 合 国 `left_data` 要加入的列(默认为最后一列) `left_data`, (中文(简体) ), `right_index` 联 合 国 `right_data` 要加入的列(默认为第一列,索引0,在 `right_data`, (中文(简体) ), `left_keep` 是否保留 `left_index` 栏中的合并数据(默认为 `true`和 `right_keep` 是否保留 `right_index` 栏中的合并数据(默认为 `true`) (中文(简体) ).

## `rightJoin(left_data, right_data, [options])`

期望两个阵列 - `left_data` 财务报告和审定财务报表 `right_data` - 还有 `options` 返回数组,这些数组是右外加 `left_data` 财务报告和审定财务报表 `right_data`。 。 。 . `options` 属性是 `left_index` 联 合 国 `left_data` 要加入的列(默认为最后一列) `left_data`, (中文(简体) ), `right_index` 联 合 国 `right_data` 要加入的列(默认为第一列,索引0,在 `right_data`, (中文(简体) ), `left_keep` 是否保留 `left_index` 栏中的合并数据(默认为 `true`和 `right_keep` 是否保留 `right_index` 栏中的合并数据(默认为 `true`) (中文(简体) ).

## `fullJoin(left_data, right_data, [options])`

期望两个阵列 - `left_data` 财务报告和审定财务报表 `right_data` - 还有 `options` 返回数组,这些数组是 `left_data` 财务报告和审定财务报表 `right_data`。 。 。 . `options` 属性是 `left_index` 联 合 国 `left_data` 要加入的列(默认为最后一列) `left_data`, (中文(简体) ), `right_index` 联 合 国 `right_data` 要加入的列(默认为第一列,索引0,在 `right_data`, (中文(简体) ), `left_keep` 是否保留 `left_index` 栏中的合并数据(默认为 `true`和 `right_keep` 是否保留 `right_index` 栏中的合并数据(默认为 `true`) (中文(简体) ).

## `innerJoin(left_data, right_data, [options])`

期望两个阵列 - `left_data` 财务报告和审定财务报表 `right_data`\- 还有 `options` 返回数组,这些数组是 `left_data` 财务报告和审定财务报表 `right_data`。 。 。 . `options` 属性是 `left_index` 联 合 国 `left_data` 要加入的列(默认为最后一列) `left_data`, (中文(简体) ), `right_index` 联 合 国 `right_data` 要加入的列(默认为第一列,索引0,在 `right_data`, (中文(简体) ), `left_keep` 是否保留 `left_index` 栏中的合并数据(默认为 `true`和 `right_keep` 是否保留 `right_index` 栏中的合并数据(默认为 `true`) (中文(简体) ).

## `*Join.getLastUnmatched()`

四个 `*Join` 所有方法都有附件 `getLastUnmatched` 方法。 这些方法返回一个 `unmatched` 对象提供上次引用父函数时没有匹配行的信息。 这个 `unmatched` 对象包含两个属性: `left` 财务报告和审定财务报表 `right` 其值为对象数组。 中每个对象 `left` 或者说 `right` 数组代表了一个与相宜的无相匹配的行 `left_data` 或者说 `right_data` 数据集。 这些对象的属性是 `input_row` (输入数据中的行索引), `output_row` (输出数据中的行索引或 `null` 如果它没有出现)和 `value` 那没有匹配.

## 常见问题

### @flourish/transform-data 是什么？

重排数据

### 如何安装 @flourish/transform-data？

在项目目录运行 npm install @flourish/transform-data，或使用 pnpm add / yarn add / bun add。

### @flourish/transform-data 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/flourish\_\_transform-data 是否存在。

### @flourish/transform-data 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @flourish/transform-data 可以商用吗？

@flourish/transform-data 使用 UNLICENSED 许可。作者声明为 UNLICENSED，即不授予公开使用许可（与公共领域的 Unlicense 不同）。使用前需获得作者授权。以上为概括，不构成法律意见，请以许可原文为准。

### @flourish/transform-data 的下载量有多少？

根据 npm 官方下载统计，@flourish/transform-data 在 2026/10/15 – 2026/11/13 这 30 天内被下载 5,048 次，日均约 168 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @flourish/transform-data 还在维护吗？

最新版本 2\.1\.0 发布于 2021/02/19（5 年前）；至今共发布 6 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/04/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

