ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

高级CSV

wadetb 全部

高效格式化、编辑、排列和评估CSV文件中的单元格

详细信息

安装

  • 总数 87K
  • Win 41K
  • Mac 33K
  • Linux 13K
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日 6月22日
Windows 7 8 3 2 9 3 5 5 6 2 2 8 5 5 9 5 1 5 8 14 11 5 6 1 0 11 12 15 7 11 6 2 3 4 9 6 5 2 5 3 3 9 4 7 4 5
Mac 5 7 3 0 6 6 5 4 5 2 1 5 7 6 12 8 5 2 4 6 13 7 8 1 1 7 11 4 5 10 0 2 4 6 9 4 4 4 2 5 8 2 3 6 3 1
Linux 1 1 0 1 1 1 2 4 4 1 1 1 2 1 2 3 2 1 5 3 0 0 1 0 1 2 1 7 1 2 0 0 1 2 0 1 1 1 0 0 2 2 1 2 0 2

读我

源代码
raw.githubusercontent.com

Sublime Text高级CSV

一个用于管理CSV文件的插件,从Eric Martel的Sublime-Text-2-CSV-Plugin(https://github.com/ericmartel/Sublime-Text-2-CSV-Plugin)分支而来。

当列正确对齐时,通常最容易处理CSV数据。此插件提供了一条命令,用于使用空格(对齐列)对齐所有列,并再次折叠它们(折叠列)。

它还包括插入和删除列的命令,以及根据列排序数据的命令,是否带有标题行,并适当考虑数字顺序和字典顺序。

可以全选整列(选择列),从而启用类似于快速重新排序、合并、添加和删除多个列的复杂操作。

该插件包括一个命令用于清理空行尾逗号,通常在用Excel打开CSV文件时留下。

使用NumPy(https://www.numpy.com.cn),该插件支持评估单元格范围的Python表达式,类似于Excel中的公式。

所有上述功能都在对齐和折叠模式下工作。

最后,该插件完全支持RFC 4180(https://tools.ietf.org/html/rfc4180)引号,但引样新行(2.6)被视为行分隔符。

安装

文件可以在GitHub上获取

$ https://github.com/wadetb/Sublime-Text-Advanced-CSV

或通过Package Control(《https://sublime.wbond.net):

  1. 使用命令区域中的Package Control: Install Package命令。
  2. 将显示一个包列表。键入Advanced CSV并按Enter。

使用Package Control确保高级CSV插件保持最新。

快捷键

动作
Ctrl+Comma, Up 按列排序(升序)
Ctrl+Comma, Down 按列排序(降序)
Ctrl+Comma, i 插入列
Ctrl+Comma, d 删除列
Ctrl+Comma, s 选择列
Ctrl+Comma, Space 对齐列
Ctrl+Comma, Comma 折叠列
Ctrl+Comma, Equals 评估单元格
Ctrl+逗号, f 使用模板字符串格式化单元格

公式

要触发单元格评估,单元格的内容必须遵循标准格式

<range>=<python expression...>

range定义了将更新的内容集合的单元格,python expression定义了将被评估的Python表达式。

范围

如果range留白,则公式单元格本身将被替换。与Excel不同,公式文本不是独立于显示值存储的,因此这具有销毁公式的效果,尽管在这种情况下可以取消评估命令。

  • =<python expression>将当前单元格替换为python expression的结果。

定义除公式单元格外的范围的语法:

[<row_start>:<row_end>,<col_start>:<col_end>]=<python expression>

row_startrow_end和从col_startcol_end更新文档的矩形区域。如果省略row_startcol_start,则范围从文档的第一行或第一列开始。

如果省略row_endcol_end,则范围结束于文档的最后一行或最后一列。如果都省略但包含冒号,则更新整行或整列。如果都省略并且没有冒号,则范围是公式所在的行或列。

以下是该语法的所有变体

  • [:]更新当前列的所有单元格。
  • [<row_start>:<row_end>]更新从row_startrow_end的当前列的单元格。
  • [<row_start>:]更新从row_start到文档末尾的当前列的单元格。
  • [:<row_end>]更新从文档开头到row_end的当前列的单元格。
  • [,:]更新当前行的所有单元格。
  • [,<col_start>:<col_end>]更新从col_startcol_end的当前行的所有单元格。
  • [,<col_start>:]更新从col_start到文档末尾的当前行的所有单元格。
  • [,:<col_end>]更新从文档开头到col_end的当前行的所有单元格。
  • [:,:]更新文档中的所有单元格。
  • [:,<col_start>:<col_end>]更新所有行中从col_startcol_end的单元格。
  • [:,<col_start>:]更新所有行中从col_start到文档末尾的单元格。
  • [:,:<col_end>]更新所有行中从文档开头到col_end的单元格。

在定义范围时,更新起始单元格,但结束单元格不更新。这是出于匹配NumPy数组切片语法的故意。

  • [0:1,:]更新第0行的所有单元格。
  • [1:3,:]更新第1行和第2行的所有单元格。

范围中的行列号可能以+-开头,这使得它们相对于文档中公式位置是相对的。

  • [:,-1]更新公式左侧的单元格。
  • [:,+1:+3]更新公式右侧的两个单元格。

为了方便,可以使用方向修饰符在=字符前移动范围一个小单元格。

  • <=更新公式左侧的单元格。
  • >=更新公式右侧的单元格。
  • ^=更新公式上方的单元格。
  • v=更新公式下方的单元格。

范围移动修饰符可以与数字范围一起使用。

  • 使用 [:]<= 更新公式左侧所有单元格。

表达式语法

Python 表达式由 Sublime Text 的 Python 解释器对目标范围内的每个单元格进行评估。然后将结果转换为字符串并存储在单元格中。

提供了一些变量给评估器

  • m 代表文档的 NumPy ndarray。非数字单元格用 0 表示。数组的维度加长到文档的极限,缺失的单元格用 0 填充。有关 NumPy 的教程,请参阅 http://wiki.scipy.org/Tentative_NumPy_Tutorial
  • row 正在评估的单元格的行。
  • col 正在评估的单元格的列。
  • frow 公式的行。
  • fcol 公式的列。

示例

示例 1

此示例使用 NumPy 的 sum 方法应用简单列求和。

item  ,price
shoes ,12
hat   ,2
pants ,8
shirt ,7.50
total ,      ,"<=m[1:5,1].sum()"

示例 2

此示例按价格和按条目填写总计。

item  ,price ,qty ,total
shoes ,12    ,2   ,
hat   ,2     ,1   ,
pants ,8     ,1   ,
shirt ,7.50  ,2   ,
total ,      ,    ,
"[5,1:4]=m[1:5,col].sum()"
"[1:5,3]=m[row,1]*m[row,2]"

请注意,必须评估两次(Ctrl+Comma, Equal)以计算最后一个单元格。

许可证

Sublime Text Advanced CSV 插件的全部内容均采用 MIT 许可证。

版权所有 © 2014 Wade Brainerd [email protected]

在此,任何人获得本软件及相关文档(“软件”)的副本(“软件”),免费使用“软件”而不受限制,包括但不限于使用、复制、修改、合并、发布、分发、许可以及/或销售“软件”的副本,并允许向获得“软件”的人提供使用“软件”的权利,但受以下条件的约束

必须在所有副本或“软件”的大部分内容中包含上述版权声明和本许可声明。

本软件按“现状”提供,没有任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论此类责任源于合同、侵权或其他。

此外,代码的部分源自 Eric Martel 的 Sublime Text 2 插件,许可条款如下

Sublime Text 2 CSV 插件的全部内容均采用 MIT 许可证。

版权所有 © 2012 Eric Martel [email protected]

在此,任何人获得本软件及相关文档(“软件”)的副本(“软件”),免费使用“软件”而不受限制,包括但不限于使用、复制、修改、合并、发布、分发、许可以及/或销售“软件”的副本,并允许向获得“软件”的人提供使用“软件”的权利,但受以下条件的约束

必须在所有副本或“软件”的大部分内容中包含上述版权声明和本许可声明。

本软件按“现状”提供,没有任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论此类责任源于合同、侵权或其他。