测试csvkit 操作csv

安装:

virtualenv csvhandle
source csvhandle/bin/activate

pip install csvkit

cd csvhandle

mkdir test
cd test

测试:软件在对转码方面做的不到位。

../bin/in2csv 不能转换含中文的excel到csv

处理csv文件

测试数据

.../bin/csvlook 会打印出来文件内容,但不能接管道符。.../bin/csvlook|less报UnicodeEncodeError: 'ascii' codec can't encode characters.对内容格式(文本/数字)敏感(如把0自作聪明识别成False),不要用这个命令,用 ../bin/csvcut SPTK211110003_test1.csv 原汁原味显示。

../bin/csvcut -n  SPTK211110003_test.csv 读取表头,正常

../bin/csvcut -c   按列名或列号取特定列。注:对中文列名不能识别

 

 

2>统计、操作数据:

2.1 取三列出来,两列是文本,一列是数值。

 

 

2.2 理解、操作数据

1)csvstat看常用统计量,参考R语言的summary() 。csvstat自动识别列变量类型,并出具不同的统计结果

  ../bin/csvcut -c 2,9,12 SPTK211110003_test1.csv |csvstat

 

 

 

 2)csvgrep查找在指定列中匹配到的行。如只看结果列匹配是B的行:../bin/csvcut -c 2,9,12 SPTK211110003_test1.csv |csvgrep -c 3 -m B

 

 

 更屌的是,csvgrep配合-r支持正则表达式  ../bin/csvcut -c 2,9,12 SPTK211110003_test1.csv |csvgrep -c 3 -r [AB]

 

 

 3) csvsort 按某列正/倒排序 ../bin/csvcut -c 2,9,12 SPTK211110003_test1.csv |../bin/csvgrep -c 3 -r [A-B]|../bin/csvsort -c 2 -r # -r 从大到小排序

 

 

3. 对多个csv 按某列横向拼接(不如R语言),纵向merge.

1)../bin/csvjoin -c 客户样本名称 SPTK211110003_test1_1_2.csv SPTK211110003_test1_2_9_12.csv 可惜不能识别中文列名【客户样本名称】,也不能按列号。

2)堆叠多个文件,后边文件会粗暴的自动删除第一行后接在后边。./bin/csvstack SPTK211110003_test1.csv SPTK211110003_test1_cp.csv 

 

 

posted on   BioinformaticsMaster  阅读(95)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示