我希望csv文件在vim中以与在microsoft office中打开相同的方式打开.数据应采用列格式,不应看到逗号,应轻松遍历.在vim的帮助下是否可以使用任何插件?
Chr*_*ndt 21
我可能稍后回答了这个问题,但为了完整起见我还是会回答.我已经制作了csv插件,这应该可以做你想要的.
其中,它允许:
:SearchInColumn命令在列中搜索文本:HiColumn命令的列:ArrangeColumn命令可视地排列所有列:DeleteColumn命令删除列 :Header或:VHeader命令显示垂直或水平标题行:Sort命令对列进行排序:Column命令注册:MoveCol命令在另一列后面移动一列:SumCol命令计算列中所有值的总和(您还可以定义自己的自定义聚合函数)以下是在vim中使用CSV文件的一些提示:
http://vim.wikia.com/wiki/Working_with_CSV_files
我不确定是否有一种方法可以在列中显示它而不使用逗号,但该链接中的提示允许vim非常容易地遍历和操作CSV.
我已经尝试过Christian的csv插件,它可以快速查看csv文件,特别是当你需要查看许多不同的文件时.
然而,当我打算在同一CSV文件中寻找超过几次,我将文件导入sqlite3的,这使得进一步的分析多少更快,更容易执行.
例如,如果我的文件如下所示:
file.csv:
field1name, field2name, field3name
field1data, field2data, field3data
field1data, field2data, field3data
Run Code Online (Sandbox Code Playgroud)
我创建了一个新的sqlite db(从命令行):
commandprompt> sqlite3 mynew.db
Run Code Online (Sandbox Code Playgroud)
然后在db中创建一个表以将文件导入:
sqlite> create table mytable (field1name, field2name, field3name);
sqlite> .mode csv
sqlite> .headers ON
sqlite> .separator ,
sqlite> .import file.csv mytable
Run Code Online (Sandbox Code Playgroud)
现在新表'mytable'包含文件中的数据,但第一行是存储您通常不想要的标题,因此您需要删除它(在字段值周围使用单引号;如果您使用double引用你将删除所有行):
sqlite> delete from mytable where field1name = 'field1name';
Run Code Online (Sandbox Code Playgroud)
现在,您可以轻松查看数据,按复杂公式过滤,按多个字段排序等.
sqlite> select * from mytable limit 30;
Run Code Online (Sandbox Code Playgroud)
(对不起,这变成了一个sqlite教程,但似乎每次我不导入sqlite,我最终花费更多的时间使用vim/less/grep/sort/cut比我刚刚导入的第一名).
| 归档时间: |
|
| 查看次数: |
14778 次 |
| 最近记录: |