codecamp

如何以表格格式编辑CSV文件

注意:此功能仅在 Ultimate 版本中受支持。

对于包含分隔符分隔值的文本文件(例如 CSV,TSV), IntelliJ IDEA 提供了一个替代的表编辑器。

IntelliJ IDEA表编辑器 
IntelliJ IDEA表编辑器使用

表编辑器中的大多数功能都是作为上下文菜单命令进行访问的,并且其中的许多命令都具有键盘快捷键。

IntelliJ IDEA表编辑器快捷命令


请注意,标题行的上下文菜单和表的其余部分是不同的。

使用表编辑器的先决条件

要使表编辑器和相关功能可以使用,得做到以下几点:

  • 您应该使用 IntelliJ IDEA 的  Ultimate 版本。(社区版本中不提供相应的功能)
  • 必须启用数据库工具和 SQL 插件。(此插件与 IDE 捆绑并默认启用。)
  • 文件扩展名必须与文本文件类型相关联。

如何打开 IntelliJ IDEA 表编辑器

您可以打开整个文件或其片段的表编辑器。

  1. 在编辑器中打开需要使用的文件。
  2. 如果要打开片段的表编辑器,请选择该片段。
  3. 选择从上下文菜单中选择“编辑为表”。
    打开IntelliJ IDEA表编辑器
  4. 在打开的对话框中,指定转换设置,然后单击 "确定"。

对数据进行排序

您可以通过单击标题行中的单元格,按任何列对表数据进行排序。

此行中的每个单元格在右侧部分都有一个的排序标记,最初,单元格可能如下所示: 。在这种情况下,排序标记表示数据未按此列进行排序。

如果单击该单元格一次,则数据按升序排列相应的列。这通过排序标记的外观来表示: 。标记右侧的数字(图中的1)是排序级别。(您可以按多个列排序,在这种情况下,不同的列将具有不同的排序级别。)

当您第二次单击该单元格时,数据按降序排列。以下是排序标记如何表示此顺序:

最后,当您第三次单击单元格时,将初始化状态。也就是说,排除相应的列被取消:

隐藏和显示列

如果要隐藏列,请右键单击相应的标题单元格,然后选择隐藏列。

显示隐藏列:

  1. 执行以下操作之一:
    • 右键单击标题行中的任何单元格,然后选择列表。
    • 按 Ctrl+F12。在出现的列表中,隐藏列的名称被显示。
    • 选择(突出显示)感兴趣的列名称,然后按 Space。
    • 按 Enter 或 Escape 关闭列表。

转置表

转置的表视图可用。在这个视图中,行和列互换。

要打开或关闭此视图,请使用 "转置上下文菜单" 命令。

为列启用编码帮助

您可以为列分配支持的语言(例如 SQL,HTML 或 XML):右键单击相应的标题单元格,选择“编辑”并选择语言。因此,您可以在相应列的所有单元格中获取所选语言的编码帮助。

您也可以为单元格指定一种语言。

修改单元格内容

  1. 要开始编辑值,请执行以下操作之一:
    • 双击相应的表格单元格。
    • 右键单击该单元格,然后从上下文菜单中选择 “编辑”或“编辑最大化”。
    • 选择单元格,然后按 F2或 Shift+Enter。在后一种情况下,单元格将被最大化。
    • 选择单元格并开始输入。请注意,在这种情况下,初始单元格内容将立即被删除,并替换为类型值。
  2. 在编辑模式下,您可以:
    • 修改单元格中的值。要开始新行,请使用 Ctrl+Enter。要输入值,请按 Enter。要恢复初始值并退出编辑模式,请按 Escape。
      修改IntelliJ IDEA 单元格内容
    • 使用值完成。按 Ctrl+Space 打开建议列表。该列表包含与您的输入匹配的当前列中的值。
    • 如果您需要更多的编辑空间,则最大化单元格。要这样做,请按Ctrl+Shift+Alt+M 或右键单击该单元格并选择“最大化”。
      在最大化单元格中工作时,使用 Enter 启动新行并按 Ctrl+Enter 输入该值。要恢复初始值并退出编辑模式,请按 Escape。
      修改IntelliJ IDEA 单元格内容
    • 将文本文件的内容插入单元格。为此,请右键单击该单元格并选择加载文件。然后在打开的对话框中选择所需的文件。
    • 将单元格中的值编辑为支持的语言 (如 SQL、HTML 或 XML) 中的一个片段。要这样做,右键单击单元格,选择“编辑”并选择语言。因此,您可以获得所选语言的编码帮助。
      修改IntelliJ IDEA 单元格内容

添加和删​​除行和列

使用以下上下文菜单命令和快捷键:

  • 添加新行(Alt+Insert)。
  • 删除行(Ctrl+Y)。要一次删除多行,首先,选择相应行中相应的行或单元格。
  • 复制行(Ctrl+D)。此命令将创建当前行的副本。
  • 添加新列(Shift+Alt+Insert)。
  • 删除列(Shift+Alt+Delete)。要一次删除多个列,首先,选择相应列中的单元格。
  • 复制列(Ctrl+Shift+Alt+D)。此命令将创建当前列的副本。

将数据复制到剪贴板或将其保存在文件中

  1. 使用以下上下文菜单命令之一:
    • 复制(Ctrl+C):此命令将所选单元格的数据复制到剪贴板。
    • 转储数据| 到剪贴板(Dump Data | To Clipboard):此命令将整个表的数据复制到剪贴板。
    • 转储数据| 到文件(Dump Data | To File):此命令将整个表的数据保存在文件中。在实际保存数据之前,将显示一个对话框,您可以选择输出格式,并查看数据在文件中的显示方式。
  2. 如果要将数据保存在文件中,请指定文件名和位置。

另请参阅,指定数据输出格式和选项。

指定数据输出格式和选项

指定数据输出格式和选项
若要指定复制和转储数据命令的输出格式和选项 (请参阅将数据复制到剪贴板或将其保存在文件中),请右键单击该表并指向 "数据提取器: <current_format>"。
在打开的菜单中,输出格式位于上半部分: SQL 插入,SQL 更新等(看起来像文件名的选项也是输出格式,更确切地说,是实现相应数据转换器的脚本。)

输出选项为:

  • 允许换位。此选项仅影响分隔符分隔的值格式(TSV,CSV)。如果将表格显示出来,并且您将选定的单元格或行复制到剪贴板(例如 Ctrl+C),则如果该选项打开并且未转置(如原始表格),则选择将被复制。
  • 跳过生成的列(SQL)。 这是SQL INSERT(插入)和 UPDATE(更新)的选项。开启时,不包括自动递增字段。
  • 添加表定义(SQL)。 这也是 SQL INSERT(插入)和 UPDATE(更新)的选项。打开时,将添加表定义(CREATE TABLE)。

另外:

  • 配置 CSV 格式。此命令打开“CSV 格式”对话框,允许您管理分隔符分隔的值格式(例如 CSV,TSV)。
  • 转到脚本目录。 该命令允许您切换到将表数据转换为各种输出格式的脚本的目录。

将数据导出到数据库

您可以将数据导出到数据库(您的数据库必须定义为数据源):

  1. 从上下文菜单中选择“导出到数据库”。
  2. 选择目标模式(将创建一个新表)或表(数据将被添加到选定的表)。
  3. 在打开的对话框中,指定数据映射信息和目标表的设置。
IntelliJ IDEA分割字符串的方法
IntelliJ IDEA拖放操作
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }