从命令行的csv文件中提取列。像cut或awk,但不会阻塞分隔符转义。

pluckr的Python项目详细描述


从命令行中的csv文件中提取列。像刀子或锥子,但没有 分隔符转义时阻塞。

安装

pip安装采摘器。完成。

用法

从stdin中获取列2和3(-f是一个索引):

pluckr -f 2,3 < sample1.csv

或直接从文件:

pluckr -f 2,1 sample1.csv

您请求的订单已被保留:

pluckr -f 1,2 sample1.csv != pluckr -f 2,1 sample1.csv

可以使用Python的负索引…获取第一个和最后一个列:

pluckr -f 1,-1 sample1.csv

您可以在列选择的范围内进行混合:

pluckr -f 2,4-6,9 sample1.csv

不能确定哪些列存在或它们的索引是什么?

pluckr –names sample1.csv

不存在的字段(例如-F11111)将被忽略。

预先设定的行号可能会有帮助:

cat sample1.csv | pluckr –line-numbers

跳过标题行:

cat sample1.csv | pluckr -s1

抓取除第二列以外的所有列(删除列而不是选择它们):

pluckr -f 1 -i < sample2.csv

读取(和写入)各种分隔符:

pluckr -d, –out-delimiter=| < with-commas.csv > with-pipes.csv

请注意,将制表符作为参数传递可能会很困难;在必要时,请使用:

pluckr -d $’t’

帮助

通过–帮助

usage: pluckr [-h] [-f FIELDS] [-i] [-d DELIMITER] [-q QUOTECHAR] [-s SKIP]
[-l] [-n] [infile]

Grab columns from csv input. http://github.com/philadams/pluckr

positional arguments:
infile input file (.csv)
optional arguments:
-h, --helpshow this help message and exit
-f FIELDSordered list of columns to retain; one-indexed
-i, --inverseinvert column retention: drop those in -f
-d DELIMITER, --delimiter DELIMITER
field delimiter when reading infile
-q QUOTECHAR, --quotechar QUOTECHAR
field quotechar when reading infile
-s SKIP, --skip SKIP
number of rows to skip
-l, --line-numbers
prepend line numbers to output
-n, --namesprint column names; assumes one header row

测试

这个项目使用[roundup](https://github.com/bmizerany/roundup)进行测试。 使用make test运行测试。

未来

  • 允许-f在有标题行时按名称获取列?
  • implement–out-x用于输出分隔符等
  • json输出或者,为kennethreitz/tablib贡献一个cli
  • 添加分隔符支持
  • 添加QuoteChar支持

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在mybatis中捕获SQLException   java Spring XML自动连线记录器不确定目标类名   JavaSpringDataJPA:使用联接表进行排序和分页   JAVA循环的lang.NullPointerException数组   带Jetty和空密码的java双向SSL   当对象为类型时,java在tableview上显示图像   如何在GWT中从javascript到java获取返回类型“any”?(泛型类型传递)   java从ListView Android中的微调器获取选定值   java缓冲图像中较小的图像被裁剪,我如何解决这个问题?   java Spring MVC 3.1:使用SimpleUrlHandlerMapping和通用基本控制器时的问题   java在每次调用时生成唯一的随机数   java libGDX:在屏幕上移动多边形   java TextView未在应用程序中居中,但在match_约束中居中   在python中重复运行同一java函数的最佳方式是什么?