#csv #json #jsonl

程序 csv2jsonl

将CSV转换为JSON行

1个不稳定版本

0.3.0 2022年2月20日

#345 in #csv

EUPL-1.2

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