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

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

虽然用于在控制台上编辑 CSV 文件的电子表格应用程序曾经是个人电脑最早的杀手级应用程序之一,但只有少数应用程序和关于它们的文档仍在积极维护。

经过对网络、手册页和源代码的广泛搜索后,我最终找到以下三个应用程序,它们都存在根本缺陷:

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

各种 Emacs 模式也不能很好地引用包含分隔符的字符串,或者需要更多的输入才能进入表格的支架。

因此,如果能克服这些缺点或提供任何有关另一个基于控制台的 CSV 编辑器的提示,我将不胜感激。它实际上不需要进行任何计算,只需编辑单元格或列和行即可。

答案1

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 电子表格。

宏计算无法干净地导入或导出 CSV 文件。

茶壶有点不寻常,但它非常容易使用,手册读起来很快。CSV 的导入/导出很简单。它有两个主要怪癖。首先,虽然它会自动引用字符串,但它总是引用所有字符串。其次,它会将所有十进制数截断/扩展为默认精度。FLTK 接口可以运行,但有缺陷。

SC 速度快且稳定。它的操作与 vi 类似,对初学者同样友好。需要外部程序才能在 SC 格式和 CSV 之间进行转换。该psc工具(仅限 CSV -> SC)随 SC 安装,工作方式如下:

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

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

ssconvert file.sc file.csv

我尝试使用 - 来回处理各种事物pscssconvert并且过程看起来很稳定。数字和字符串处理正确。

编辑 CSV 文件的另一种方法是使用带有适当插件的文本编辑器。EmacsVim有它们,尽管 Vim 版本速度更快,功能更多。它们提供突出显示、列对齐和块操作。我发现两者都非常慢且有缺陷。

答案2

scim 是我见过的最好的,可以本地导入 csv 和导出 csv。

https://github.com/andmarti1424/scim

答案3

相关内容