WebStorm 2025.2 Help

数据提取器

数据提取器 设置了在编辑器中复制或查看数据的规则(在 文本 编辑器视图模式中)。 您可以从 数据提取程序 列表中选择一个默认提取器,该列表位于 导出数据 图标(导出数据图标 )旁边,也可以配置现有提取器,或者使用 Groovy 或 JavaScript 创建自定义提取器。

数据编辑器工具栏上的数据提取器列表

上次选择的提取器将成为新打开编辑器选项卡的默认提取器。 对于 MongoDB,默认提取器始终为 JSON。

在以下视频中,使用 CSV 数据提取器复制数据,并在使用 SQL 更新管道分隔 数据提取器的 文本 编辑器视图模式中查看数据。

使用数据提取器,您可以将数据库数据导出为 SQL 语句和各种格式。 导出到文件时,每个表或视图都会创建一个单独的文件。 有关导出的详细信息,请参阅 导出部分

支持的文件格式

可用脚本和支持的文件格式列表如下:

  • 预定义脚本。 使用这些脚本将数据导出为一组 INSERTUPDATE 语句、 TSV 和 CSV 文件、 Excel XLSX 文件、 Markdown 、HTML 表格以及 JSON 格式。

    1. 内置

      脚本

      文件格式

      SQL 插入

      .sql

      SQL 更新

      Where 子句

    2. CSV

      脚本

      文件格式

      CSV

      .csv

      TSV

      .tsv

      管道分隔

      .txt

      使用 CSV 格式配置 来创建基于 CSV 或任意 DSV 格式的自定义格式。

    3. 脚本化

      脚本

      文件格式

      CSV

      .csv

      TSV

      .tsv

      Excel

      .xlsx .xls

      HTML(groovy)

      .html

      HTML(js)

      JSON

      .json

      Markdown

      .md

      单行

      .sql

      SQL-Insert-Multirow

      SQL-Insert-Statements

      格式化

      .txt

      XML

      .xml

  • 自定义数据提取器。使用 Groovy 或 JavaScript 及提供的 API 创建。

为分隔符分隔值配置提取器

您可以扩展默认功能,并基于 CSV 或任意 DSV 格式创建自定义格式。 在设置中,您可以设置行和标题的分隔符、定义 NULL 值的文本、指定引号、为分隔符分隔值格式创建新提取器。

  1. 从数据提取器列表中选择 配置 CSV 格式

  2. CSV 格式 对话框中,点击 添加格式 图标 添加格式图标

  3. 指定新格式的名称(例如, Confluence Wiki Markup)。

  4. 定义格式设置:设置行和标题的分隔符、定义 NULL 值的文本、指定引号。 点击 确定

    格式创建完成后,您可以在 导出数据 图标(导出数据图标 )旁边的下拉菜单中选择该格式。

有关 CSV 格式 对话框的详细信息,请参阅 参考

添加自定义提取器

您可以创建自己的提取器,使用 Groovy 或 JavaScript 编写。

GitHub 仓库 中找到用于脚本化扩展开发的预配置项目。

  1. 项目 工具窗口中,导航到 临时文件和控制台| 扩展|数据库工具与 SQL|data|extractors

  2. 右键点击 extractors 节点并选择 新建(N)| 文件

  3. 输入文件名(例如: PHP.array.groovy ),其中:

    • PHP :在提取器菜单中使用的名称。

    • array :提取器的输出内容。

    • groovy :脚本的扩展名。

  4. 在新文件中键入或粘贴提取器的代码。 您可以使用 extractors 文件夹中的其他提取器代码编写自己的提取器。 此外,您还可以尝试以下提取器:

  5. 从提取器列表中选择提取器。

    请参阅以下在 WebStorm 中添加 PHP-array 提取器的示例。

自定义数据提取器的 API

使用以下 API 创建自定义数据提取器。

绑定

方法(Groovy 和 JavaScript)

描述

DIALECT

getDbms() 后跟以下方法之一:

  • isOracle

  • isMysql

  • isPostgres

  • isBigQuery

  • isRedshift

  • isGreenplum

  • isVertica

  • isMicrosoft

  • isSybase

  • isDb2

  • isHsqldb

  • isH2

  • isDerby

  • isSqlite

  • isExasol

  • isClickHouse

  • isCassandra

  • isHive

  • isSpark

  • isSnowflake

  • isMongo

  • isCouchbase

  • isCockroach

  • isTransactSql

  • isDocumentOriented

数据库方言

TABLE

  • getName()

  • getParent().getName()

数据库表元数据

ALL_COLUMNS

  • int columnNumber()

  • String name()

查询结果或当前打开表格编辑器中的所有列的列表。

COLUMNS

  • int columnNumber()

  • String name()

查询结果或当前打开表格编辑器中所选列的列表。

FORMATTER

  • format(Row, Column)

  • formatValue(Object, Column)

  • getTypeName(Object, Column)

  • isStringLiteral(Object, Column)

默认格式化方法。

OUT

append(String)

提取器输出。

ROWS

  • int rowNumber()

  • boolean first()

  • boolean last()

  • java.util.List<java.lang.Object> data()

  • Object value(Column)

Row data stream.

转置

表示表格编辑器是否处于转置模式的布尔值。

示例

您可以使用以下简单的 CSV 数据提取器作为创建自定义数据提取器的基础。 此数据提取器的完整版本可在 WebStorm 中找到。 要查找它,请在 项目 工具窗口中导航到 临时文件和控制台| 扩展|数据库工具与 SQL|data|extractors

ROWS.each { row -> COLUMNS.eachWithIndex { column, i -> if (i > 0) OUT.append(",") OUT.append(FORMATTER.format(row, column)) } OUT.append("\n") }

参考

CSV 格式对话框

要打开此对话框,请点击工具栏中的 数据提取程序 列表并选择 配置 CSV 格式

此对话框包含将表格数据转换为分隔值格式(例如 CSV、TSV)或从中转换的设置。

为防止加载其余数据,预览限制为 10 条记录。 更改设置时,预览也会相应更新。

项目

描述

格式

选择一个可以成功将文件数据转换为表格的模板。 您可以更改预定义模板的设置,或添加新模板。 要添加模板,请点击 添加格式 按钮(添加格式图标)。

使用 添加格式)、 移除格式)、 )和 )按钮创建、删除和重新排序格式; 复制格式复制格式图标 )创建所选格式的副本。

值分隔符(S)

选择或输入要用作数值分隔符的字符。

行分隔符(R)

选择或输入要用作行分隔符的字符。

null 值文本(N)

如果单元格包含 NULL 值,请选择或输入要使用的文本。

添加行前缀/后缀

点击链接并输入行前缀和后缀。 前缀和后缀是字符序列,用于配合行分隔符指示一行的开始和结束。

引用

引号 区域下的每一行都是一个引号模式。 引号模式包括:

  • 左侧 :插入在数值前的引号字符。

  • 右侧 :插入在数值后的引号字符。

  • 转义 :当引号字符是数值的一部分时的转义方法或字符。 <duplicate> 值表示当数值中出现引号字符时,该字符会被加倍。 您可以指定自定义的转义字符。

如果存在多个模式,则使用第一个模式。

使用 添加)、 移除)、 )和 )按钮创建、删除和重新排序模式。

为值加引号(Q)

选择在何时使用引号字符包裹数值。

  • 从不 :不对数值添加引号。

  • 需要时 :当数值中包含值或行分隔符时添加引号。

  • 始终 :对所有数值添加引号。

清除空格(W)

忽略或移除空白字符。 如果此复选框未选中,则空白字符将视为相应数值的一部分。

第一行是头(H)

将首行视为包含列名的行。

第一列是头(H)

将首列视为包含行名的列。

最后修改日期: 2025年 9月 26日