【问题标题】:Delete column of data from MacVim从 MacVim 中删除数据列
【发布时间】:2015-05-06 08:36:07
【问题描述】:

我从一个以文本文件设置地理数据的网站下载了地理数据。当我将这些文件复制粘贴到 excel 中时,它们会显示在每个单独的列中:

我对 excel 的主要问题是它在处理大数据时非常糟糕。我的数据文件是 100+ MB。因此,我使用 MacVim。 MacVim 显示数据如下:

如何使用 MacVim 删除甚至选择一列数据。有没有办法使用 MacVim 来区分列,就像 excel 区分它们一样?

谢谢你,非常感谢你的帮助

【问题讨论】:

  • vim 是一个文本编辑器。我不相信它有任何机制来处理数据列。如果你想删除列,你应该可以使用cutstackoverflow.com/questions/13690461/…
  • 很好,但是如何识别要剪切的列。该示例显示了简单的列,例如 1,2,3,4 ... 但我的 vim 显示 '123123 name 234 234 123 asd 12 asdsd',不一定是随机的,但很难区分

标签: excel vim large-data


【解决方案1】:

这些列显然是 TAB 分隔的。

  • 要删除第一列,可以:%s/\S*\t//

  • 删除 e. G。第4栏,可以:%s/\(\(\S*\t\)\{3}\)\S*\t*/\1/

  • 删除除 e 之外的所有内容。 G。第4栏,可以:%s/\(\S*\t\)\{3}\(\S*\).*/\2/

  • 要删除除第一列以外的所有内容,您可以:%s/\(\S*\).*/\1/

【讨论】:

    【解决方案2】:

    使用 listchars 设置使不可见的制表符看起来像“|”。这样,在视觉上区分列会变得更容易。然后,您可以使用blockwise visual mode 选择列。在由于先前单元格中的文本长度而导致列未正确对齐的情况下,这可能仍然不起作用。您可以通过将一个选项卡替换为两个选项卡来解决此问题,但显然您会看到更少的数据。

    【讨论】:

      【解决方案3】:

      似乎有一个很好的库可以在 vim 中处理 csv 文件:https://github.com/chrisbra/csv.vim

      我还建议查看 Chris Groskopf 的 csvkit 工具: https://csvkit.readthedocs.org/

      【讨论】:

        猜你喜欢
        • 2018-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多