【问题标题】:How to add proper spacing in my PSV file?如何在我的 PSV 文件中添加适当的间距?
【发布时间】:2019-07-26 20:09:05
【问题描述】:

我有一个 psv 文件用于我的程序的一些配置,它看起来非常糟糕。当我从 kdb 保存这个配置时,它会删除所有的空白,它看起来像这样:

column1|column2|column3
somevalue1|somevalue2|somevalue3
somevalue4|somevalue5|somevalue6

当我使用记事本或 Visual Studio Code 等文本编辑器打开它时,我希望它看起来像这样

column1    |column2    |column3
somevalue1 |somevalue2 |somevalue3
somevalue4 |somevalue5 |somevalue6

这个 psv 文件有 20000 行,所以请不要告诉我我必须手动执行此操作。

我需要做这个间距的原因是因为有时我的同事需要打开它来修改一件事,而且它的间距更具可读性。

我在 linux 上工作,我知道 kdb、python 和 R,所以这些语言中的任何东西可以帮助我吗?

【问题讨论】:

  • 另一种方法是在编辑器中使用扩展,例如对于 VS Code marketplace.visualstudio.com/…,它在编辑分隔文件时在底栏添加了一个“对齐”按钮

标签: r python-3.x unix kdb


【解决方案1】:

这很粗略,但是这个 q 函数将获取一个现有的 psv 文件并将其填充:

pad:{m:max each count@''a:flip"|"vs/:read0 x;x 0:"|"sv/:flip m$a}

它的工作原理是获取每列的最大字符串长度并使用$ 将其余值填充到相同的宽度。然后将这些列重新缝合在一起并保存。

以这个示例文件内容为例:

column1|column2|column3
somevalue1|somevalue2|somevalue3
somevalue4|somevalue5|somevalue6
somevalue7|somevalue8|somevalue9

在打开的 q 会话中通过 pad:

pad `:sample.psv

给出结果:

column1   |column2   |column3
somevalue1|somevalue2|somevalue3
somevalue4|somevalue5|somevalue6
somevalue7|somevalue8|somevalue9

【讨论】:

  • 喜欢它。我也写了一些东西,它比这个长得多,但对用户更友好一点。如果我有时间正确格式化它,我也会在这里发布我的解决方案
猜你喜欢
  • 2021-01-14
  • 2015-10-28
  • 2017-04-15
  • 1970-01-01
  • 2020-01-06
  • 2019-12-17
  • 1970-01-01
  • 1970-01-01
  • 2013-09-15
相关资源
最近更新 更多