1 个不稳定版本
0.1.0 | 2019年8月14日 |
---|
#730 在 科学
14KB
234 代码行
json2csv
预览版
简介
我喜欢使用JavaScript的json2csv库。这是一个遵循命令行数据科学哲学的出色工具。我想尝试用Rust重写,以提高性能并添加一些我遗漏的功能。
json2csv 0.1.0
Alex Wennerberg <alex@alexwennerberg.com>
Converts JSON into CSV
USAGE:
json2csv [FLAGS] [OPTIONS] [--] [INPUT]
FLAGS:
-F, --flatten Flatten nested jsons and arrays
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-f, --fields <fields>... Optionally specify fields to include
-o, --output <output> Output file. If not present, writes to stdout
-U, --unwind-on <unwind-on> Unwind an array into multiple keys, similar to mongo
ARGS:
<INPUT> Input file. If not present, reads from stdin
安装
此工具仍处于预览版。从源代码构建
git clone git://github.com/alexwennerberg/json2csv
cd json2csv
cargo build --release
请注意,如果您正在使用多个名为json2csv的工具,您可能需要卸载其中一个或添加别名,例如json2csv-rs
用法
对于简单、扁平的具有统一结构的JSON,只需运行json2csv 输入.json
如果您的JSON结构不统一,您可能需要先运行json2csv 输入.json --get-headers
,这将列出所有标题。然后传递这些标题,如json2csv 输入.json --fields foo bar
如果您的JSON是嵌套的,您可能想要使用jq进行一些预处理。 --flatten
将将JSON中的所有嵌套数组展平,使其具有字段.nested_field或字段.nested_array.0等格式。结合使用--get-headers
以获取所有嵌套值。
您可以使用--unwind-on
选项在键上“展开”JSON。也就是说,将包含数组的记录拆分为包含该数组每个值的记录数组。
我没有包含JavaScript json2csv中存在的任何格式化选项。这是遵循“做一件事,做好一件事”的原则——这应该只是将JSON转换为CSV,对于任何类型的重新格式化或后处理,您可以将数据通过管道传输到BurntSushi的出色xsv库。
为任何功能请求提交pull请求!
依赖项
约5-7MB
约122K SLoC