1个不稳定版本
0.3.0 | 2022年2月20日 |
---|
#345 in #csv
9KB
99 行
csv2jsonl
csv2jsonl (c2j) 将CSV转换为JSON行。
默认情况下,csv2json将流式传输并执行类型推断,不会丢失信息。只有当字符串等于JSON字符串(不包含e、E或长浮点值)时,数字字符串才转换为数字。如果检测到UTF-8或UTF-16 BOM,则自动检测适当的编码并执行转码。在其他所有情况下,将底层读者的源按原样传递,就像它是UTF-8一样。
用法
$ c2j [OPTIONS] [FILE]
ARGS:
<FILE> The CSV file to operate on. If omitted, will accept input as piped data via STDIN
OPTIONS:
-d, --delimiter <DELIMITER> Delimiting character (single byte) of the CSV [default: ,]
-t, --tabs Use a tab delimiter (overrides delimiter option)
-i, --indent <INDENT> Indent the output JSON this many spaces. Disabled by default
-I, --no-inference Disable type inference when parsing CSV. Do not convert empty
strings to null and number string to numbers
-h, --help Print help information
-V, --version Print version information
待办事项
- 实现csv-sniffer嗅探
- 添加编码参数(例如CP-1252,ISO 8859-1/latin1等)
- 添加测试
感谢
我开始寻找csvkit中csvjson的快速Rust版本。最初找到了csv_to_json,是流式的但未能正确读取csv。还有csv2json,它使用csv,但没有流。在大量修改包之后,我认为最好创建一个新的,而不是进行分支。
依赖项
~8MB
~203K SLoC