一个命令行实用程序和python api,用于处理csv数据,例如提取列并重新排序它们。它有点像unix实用程序“cut”

csvfilter的Python项目详细描述


python的csv模块的一个简单包装器,为 从CSV文件筛选列。这对于像awk这样的标准工具很有用 无法轻松处理CSV文件中使用的引用和转义。

基本上,它有点像cut,但对于csv。

安装

来自PYPI:

pip install csvfilter

使用

in.csv

中提取字段1、3和5
csvfilter -f 1,3,5 in.csv > out.csv

从stdin中除去第2列之外的所有字段:

cat in.csv | csvfilter -f 2 -i > out.csv

将管道分隔文件转换为逗号分隔文件(默认情况下,输出为 逗号分隔):

csvfilter -d"|" in.psv > out.csv

跳过那讨厌的标题行:

cat in.csv | csvfilter --skip=1

如您所见,csv数据可以通过stdin或直接在 文件。

帮助位于通常的位置:

$ csvfilter --help

Usage: csvfilter [options] [inputfile]

Source: https://github.com/codeinthehole/csvfilter/

Options:
-h, --help            show this help message and exit
-f FIELDS, --fields=FIELDS
                        Specify which fields to pluck
-s SKIP, --skip=SKIP  Number of rows to skip
-d DELIMITER, --delimiter=DELIMITER
                        Delimiter of incoming CSV data
-q QUOTECHAR, --quotechar=QUOTECHAR
                        Quotechar of incoming CSV data

-i, --inverse         Invert the filter - ie drop the selected fields
--out-delimiter=OUT_DELIMITER
                        Delimiter to use for output
--out-quotechar=OUT_QUOTECHAR
                        Quote character to use for output

报告问题

使用Github issue tracker或者,更好的是…

贡献

克隆后,安装测试要求:

pip install -r requirements.txt

以“开发”模式安装软件包,使可执行文件进入您的路径:

./setup.py develop

使用以下命令运行测试:

nosetests

如果有帮助,请使用fixture文件测试您的修改:

cat fixtures/au.csv | csvfilter -f 3,1,2 -s 1
csvfilter fixutres/au.csv -f 1,2 -i

玩得开心。

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

推荐PyPI第三方库


热门话题
java我应该关闭tcp连接吗?   java指定初始化一个有引用和没有引用的类之间的区别   Java JSON反序列化错误   java将InputStream插入PostgreSQL   java Android屏幕在活动启动时取消伪装   java两个字符串实例看起来相同,但它们的哈希代码不同   java如何创建**数字**而不是字符串的数组列表?   java我可以确定由正则表达式模式匹配的第一个字符集吗?   java以编程方式更改日期范围的日期格式   java Hibernate在加载时填充自动连接字段   java如何使两个不相关的实体(两个存储库)同时在一个项目中运行?可能吗?   使用singlechildevent检索java Firebase数据   在安卓中尝试动态添加片段时未找到java ID   在HTML中编码Java GB2312字符串无法正确显示   java在缓慢的消费卡夫卡上处理背压并避免重新平衡   由hibernate生成的java查询过于冗长