基于交互式控制台的CSV编辑器


12

尽管用于在控制台上编辑CSV文件的电子表格应用程序曾经是最早的个人计算机杀手级应用程序之一,但仍然很少有人使用它们,甚至仍在积极地维护有关它们的文档。

在网上,手册页和源代码上进行了广泛的搜索之后,我得到了以下三个具有基本缺点的应用程序:

  • sc:缩写。用于电子表格计算器;带有vi键绑定的好工具,但是在导出为分隔符分隔的格式时,它不会将包含分隔符的字符串放在引号中,并且无法正确导入csv文件,即所有数字都被解释为字符串
  • GNU oleo:自2001年以来似乎没有再积极维护过,因此没有用于主要linux发行版的软件包
  • 茶壶:提供用于各种操作系统的软件包,但是使用例如针对单元的反直观命名(行和列的数字,即11似乎是行1,列1)和FLTK GUI的多余代码

各种Emacs模式也不会引号很好地包含定界符的字符串,或者需要更多的键入才能输入表的脚手架。

因此,我将非常感谢您克服这些缺点之一或对另一个基于控制台的CSV编辑器的提示。实际上,仅编辑单元格或列和行就不需要进行任何计算。


Answers:


11

通常期望CSV编辑器识别数字,仅在需要时才引用字符串,在引用的字符串中允许使用定界符,并且不折叠空单元格。所以,这在屏幕上

1                      2          3
col-one                           col,three
                       col two
This is a long string. 1.23456789 3.14

应该在文件中与此相关

1,2,3
col-one,,"col,three"
,"col two",
"This is a long string.",1.23456789,3.14

Oleo一直没有维护好几年。我在最新的Debian系统上安装了一个旧软件包,发现它很笨拙而且有很多错误。操作所需要的击键次数比平时要多。所有字符串都必须加引号,并且您必须手动执行。CSV导入过滤器无法处理字符串中的逗号。高精度数字不保留其原始格式(例如1.23456789变为1.234567889999999)。该过程有时会失控,因此无法从命令行中将其杀死。

似乎MacroCALC,Teapot和SC是唯一仍在维护的CLI电子表格。

MacroCALC无法干净地导入或导出CSV文件。

茶壶有点不寻常,但是它非常易于使用,并且手册易于阅读。CSV的导入/导出很简单。它有两个主要的怪癖。首先,虽然它会自动引用字符串,但它总是引用所有字符串。其次,它将截断/扩展所有十进制数字到默认精度。FLTK界面是可操作的,但存在错误。

SC快速稳定。它的运行方式与vi相似,并且适合初学者使用。需要外部程序才能在SC格式和CSV之间转换。该psc工具(仅CSV-> SC)随SC一起安装,其工作方式如下:

cat file.csv | psc -k -d, | sc

编辑后,使用Put命令保存文件,然后使用ssconvertGnumeric附带的实用程序(仅SC-> CSV):

ssconvert file.sc file.csv

我尝试使用psc- 往返进行各种操作,ssconvert并且该过程看起来很稳定。数字和字符串正确处理。

编辑CSV文件的另一种方法是使用带有适当插件的文本编辑器。双方的EmacsVim的有他们,虽然这些Vim版本速度更快,有更多的功能。这些提供突出显示,列对齐和块操作。我发现两者都很慢而且有故障。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.