#csv #pretty-print #terminal

bin+lib pretty-csv

CSV 终端美化打印器

2 个不稳定版本

0.2.0 2023年2月12日
0.1.0 2023年2月12日

#45 in #pretty-print

MIT 许可证

22KB
380

Pretty CSV

美化打印终端中的 CSV 文件

use pretty_csv::Table;

let mut csv = &b"one,two\nthree,four"[..];
let table = Table::from_csv(csv);
let mut output = vec![];
table.draw(&mut output).unwrap();
assert_eq!(
    std::str::from_utf8(&output).unwrap(),
    concat!(
        "╭───────┬──────╮\n",
        "│ one   │ two  │\n",
        "├───────┼──────┤\n",
        "│ three │ four │\n",
        "╰───────┴──────╯\n"
    )
);

支持在单元格中嵌入表格

use pretty_csv::Table;

let mut csv = &b"one,two\n\"[three,four\nfive,six]\",seven"[..];
let table = Table::from_csv(csv);
let mut output = vec![];
table.draw(&mut output).unwrap();
assert_eq!(
    std::str::from_utf8(&output).unwrap(),
    concat!(
        "╭──────────────────┬───────╮\n",
        "│ one              │ two   │\n",
        "├──────────────────┼───────┤\n",
        "│ ╭───────┬──────╮ │ seven │\n",
        "│ │ three │ four │ │       │\n",
        "│ ├───────┼──────┤ │       │\n",
        "│ │ five  │ six  │ │       │\n",
        "│ ╰───────┴──────╯ │       │\n",
        "╰──────────────────┴───────╯\n"
    )
);

附带名为 pretty-csv 的小 CLI 工具

$ cargo install pretty-csv
$ echo "1,2,3" | pretty-csv
╭───┬───┬───╮
 1 │ 2 │ 3 │
╰───┴───┴───╯

依赖项

~28KB