一个命令行实用程序和python api,用于处理csv数据,例如提取列并重新排序它们。它有点像unix实用程序“cut”
csvfilter的Python项目详细描述
python的csv模块的一个简单包装器,为 从CSV文件筛选列。这对于像awk这样的标准工具很有用 无法轻松处理CSV文件中使用的引用和转义。
基本上,它有点像cut,但对于csv。
安装
来自PYPI:
pip install csvfilter
使用
从in.csv:
中提取字段1、3和5csvfilter -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
玩得开心。