提问人:Ciro Santilli OurBigBook.com 提问时间:10/10/2023 更新时间:10/11/2023 访问量:46
如何使用 csvgrep 填充 CSV 文件并仅打印某些列?
How to fillter a CSV file with csvgrep and print only certain columns?
问:
是否可以在一次调用中实现,或者我是否需要使用管道重新解析行?
例如,给定:
测试 .csv
ok,1
ok,2
ko,3
如果第一列是,我只想要第二列,即所需的输出是:ok
1
2
我知道该怎么做的唯一方法是用管道进入:csvcut
csvgrep -H -c1 -mok test.csv | csvcut -c2 | tail -n+2
文档中的这个例子:https://csvkit.readthedocs.io/en/latest/tutorial/2_examining_the_data.html#csvgrep-find-the-data-you-need 做了类似的事情,所以也许这是唯一的方法?
csvcut -c county,item_name,total_cost data.csv | csvgrep -c county -m LANCASTER | csvlook
答:
1赞
aborruso
10/11/2023
#1
使用 Miller,您可以运行
mlr --csv -N filter '$1=="ok"' then cut -f 2 input.csv
获取
1
2
作为我使用的输入
ok,1
ok,2
ko,3
评论