zoukankan      html  css  js  c++  java
  • 测试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 

  • 相关阅读:
    Docker用途 & 和tomcat的区别
    Ubuntu安装Redis
    Ubuntu查看和设置Root账户
    Oracle常用语句
    Redis知识总结
    Blazor学习笔记01: 使用BootstrapBlazor组件 创建一个具有单表维护功能的表格页面
    NET Core之积沙成塔01: 解决Visual Studio 2019 代码提示为英文
    MySQL系统自带的数据库information schema
    Windows安装mysql方法
    数据库之概念
  • 原文地址:https://www.cnblogs.com/koujiaodahan/p/15604487.html
Copyright © 2011-2022 走看看