一、软件介绍
csvtk是 seqkit 与 taxonkit 作者开发的另外一款工具,专门用来处理表格数据,虽然名字称为 csvkit,但也可以处理 tsv 格式。可以对表格文件进行多种处理,包括统计,转换,集合,编辑,排序,绘图等操作。相比于 R 与 python 这些功能强大的软件,csvtk 是一个多功能的工具箱,是表格处理的“瑞士军刀”,特别适合处理一些简单的操作。与 csvtk 类似还有一个csvkit。
官网:http://bioinf.shenwei.me/csvtk/
手册:http://bioinf.shenwei.me/csvtk/usage/
中文手册:https://bioinf.shenwei.me/csvtk/chinese/
csvkit:https://csvkit.readthedocs.io/en/latest/
二、使用案例
代码语言:javascript复制#安装软件
mamba install -y csvtk
#下载案例文件
git clone https://github.com/shenwei356/csvtk.git
#1 显示csv文件
cat names.csv | csvtk pretty
#2 转为markdown
cat names.csv | csvtk csv2md
#3 用列或列名来选择指定列,可改变列的顺序
cat names.csv
cat names.csv | csvtk cut -f 3,1
cat names.csv | csvtk cut -f last_name,id
#4 用通配符选择多列
cat names.csv | csvtk cut -F -f '*name,id' | csvtk pretty
#5 按指定列搜索,默认精确匹配
cat names.csv | csvtk grep -f id -p 1 | csvtk pretty
#6 使用正则表达式匹配
cat names.csv | csvtk grep -f id -p 1 -r | csvtk pretty
#7 分组计算
cat digitals2.csv | csvtk summary -i -g f1,f2 -f f4:sum,f5:sum | csvtk pretty
#8 合并文件
cat names.csv
cat phones.csv
csvtk join -f 'username;username' --keep-unmatched names.csv phones.csv
csvtk join -f 'username;username' --keep-unmatched names.csv phones.csv
#9 绘制直方图
csvtk -t plot hist grouped_data.tsv.gz -f 2 -o histogram.png
#10 绘制箱线图
csvtk -t plot box grouped_data.tsv.gz -g "Group" -f "GC Content" --width 3 -o boxplot.png
写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。
代码语言:javascript复制sx.voiceclouds.cn
有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。