快速格式化定宽表格为csv

有些文本文件中的定宽表格没有给出表头,或者表头没有与定宽数据对齐。在数据比较复杂时,比如有带空格的字符串之类,程序无法自动判断各列的起始位置,除非手动指定列起始字符位置。下面介绍一种用 vim 快速格式化方法,将定宽格式转为特定分隔符的 csv 格式。

假设我们想用 | 将各列数据分隔开,当然,数据本身不能含有 |

  1. 跳到数据首行。

  2. 用替换模式,将各列起始字符前的空格替换为 |
    这一步主要是用来手动标记列起始位置,(如果列很多的话)是最耗时的,不过至少比记录数字位置容易。

  3. 跳到这行的第一个 |,用 ctrl-V 列操作模式,然后 j 到底,替换整列为 |

  4. 复制字符 f|.,粘贴到 vim 窗口中,重复若干次。
    这将在本行中查找下一个 |,并替换整列为 |。在 linux 下使用鼠标中键来粘贴,感觉极好 ;-)

  5. 可选动作,添加用 | 分隔的对应表头。

然后就和读取普通的 csv 文件一样了。

标签: vim

赞 (4)

添加新评论