#csv #usv #import-export #export #import #data

bin+lib csv-to-usv

CSV to USV:将逗号分隔值(CSV)转换为 Unicode 分隔值(USV),用于数据标记,包括电子表格、数据库、文本文件等

15 个稳定版本

1.5.4 2024 年 4 月 11 日
1.5.2 2024 年 4 月 4 日
1.5.1 2024 年 3 月 26 日

编码类别下排名 328

Download history 27/week @ 2024-04-13 4/week @ 2024-06-01 3/week @ 2024-06-29 35/week @ 2024-07-06 165/week @ 2024-07-27

每月下载量 200

MIT 或 Apache-2.0 或 GPL-2.0 或 GPL-3.0

26KB
335

csv-to-usv

逗号分隔值(CSV) 转换为 Unicode 分隔值(USV)。使用 USV Rust crate 构建。

语法

stdin | csv-to-usv [options] | stdout

示例

cat example.csv | csv-to-usv

输出到文件的示例

cat example.csv | csv-to-usv > example.usv

以下有更多示例。

选项

CSV 解析选项

  • -d, --delimiter : 设置 CSV 字段分隔符。

USV 分隔符和修饰符选项

  • -u, --unit-separator : 设置单位分隔符(US)字符串。

  • -r, --record-separator : 设置记录分隔符(RS)字符串。

  • -g, --group-separator : 设置分组分隔符(GS)字符串。

  • -f, --file-separator : 设置文件分隔符(FS)字符串。

  • -e, --escape : 设置转义(ESC)字符串。

  • -z, --end-of-transmission : 设置传输结束(EOT)字符串。

USV 风格选项

  • --style-braces : 设置使用花括号的风格,例如 "{US}" 用于单位分隔符。

  • --style-controls : 设置使用控制字符的风格,例如 "\u001F" 用于单位分隔符。

  • --style-symbols : 设置使用符号的风格,例如 "␟" 用于单位分隔符。

USV 布局选项

  • --layout-0: 显示每个项目周围没有行。这是无布局,换句话说,是一行。

  • --layout-1: 显示每个项目周围有一行。这类似于单行空格的文本。

  • --layout-2: 显示每个项目周围有两行。这类似于双行空格的文本。

  • --layout-units: 在一行上显示每个单元。这对于面向行的工具可能很有用。

  • --layout-records: 在一行上显示每个记录。这类似于典型的电子表格导出。

  • --layout-groups: 在一行上显示每个组。这对于面向卷的工具可能很有用。

  • --layout-files: 在一行上显示一个文件。这对于面向存档的工具可能很有用。

命令行工具选项

  • -h, --help : 打印帮助信息

  • -V, --version : 打印版本信息

  • -v, --verbose... : 设置详细程度:0=无,1=错误,2=警告,3=信息,4=调试,5=跟踪。例如:--verbose …

  • --test : 打印测试输出以进行调试、验证、跟踪等。例如:--test

安装

安装

cargo install csv-to-usv

链接: https://crates.io/crates/csv-to-usv

示例

CSV 和 USV 有类似的数据概念

CSV USV
单元格/列 单元
行/行 记录
-
- 文件

假设文件example.csv包含

a,b
c,d

运行

cat example.csv | csv-to-usv

输出

a␟b␟␞
c␟d␟␞

如果您更喜欢使用带有零宽字符控制的ASCII分隔值(ASV)

运行

cat example.csv | csv-to-usv --style-controls

输出

a\u001Fb\u001F\u001E
c\u001Fd\u001F\u001E

如果您更喜欢用大括号来呈现标记,以便更容易看到标记

cat example.csv | csv-to-usv --style-braces

输出

a{US}b{US}{RS}
c{US}d{US}{RS}

常见问题解答

有哪些可用的转换器?

何时使用此命令?

当您想要将CSV转换为USV时使用此命令。

一个典型的用例是当您有CSV数据,例如电子表格导出,并且您想要将其转换为USV,例如使数据更容易查看、编辑或维护。

我们的实际用例是将各种程序(包括Excel)的多个CSV电子表格导出转换为USV,以便我们更好地处理引号、多行数据单元和多种人类语言的Unicode字符。

为什么使用USV而不是CSV?

请参阅USV的文档。

USV是否旨在成为标准?

是的,USV已被提交给IETF.org作为一个正在进行的Internet草案工作:链接

我可以构建自己的USV工具吗?

是的,您可以自由使用USV RFCUSV Rust crate

需要帮助

欢迎建设性的反馈。接受拉取请求和功能请求。

跟踪

  • 包:csv-to-usv-rust-crate
  • 版本:1.5.4
  • 创建:2024-03-09T13:33:20Z
  • 更新:2024-04-11T18:17:04Z
  • 许可:MIT或Apache-2.0或GPL-2.0或GPL-3.0或联系我们获取更多信息
  • 联系方式:Joel Parker Henderson ([email protected])

依赖项

~3MB
~43K SLoC