3个稳定版本

3.1.1 2024年5月24日
3.0.1 2023年7月12日

#1159 in 命令行工具

每月22次下载

BSD-3-Clause

18KB
384

csv2html

这个命令行工具将CSV文件转换为HTML表格和完整的HTML文档。构建它需要Rust 1.74或更高版本。默认情况下,它使用CSV文件的第一行作为HTML表格的表头

csv2html的原始Python版本保留在python分支中。

安装

预先构建的Linux和Windows二进制文件可用。它们附在“发布”页面的版本中。

使用Cargo安装

cargo install csv2html

在Debian和Ubuntu上构建

按照说明,在最近的Debian和Ubuntu上从源代码构建csv2html的静态Linux二进制文件。

1. 安装Rustup。通过Rustup为您的CPU添加稳定的musl libc目标。

rustup target add x86_64-unknown-linux-musl

2. 安装构建和测试依赖项。

sudo apt install build-essential musl-tools
cargo install just

3. 克隆此仓库。构建二进制文件。

git clone https://github.com/dbohdan/csv2html
cd csv2html
just test
just release-linux

为Windows交叉编译

按照说明,在最近的Debian和Ubuntu上构建csv2html的32位Windows二进制文件。

1. 安装Rustup。通过Rustup添加i686 GNU ABI Windows目标。

rustup target add i686-pc-windows-gnu

2. 安装构建依赖项。

sudo apt install build-essential mingw-w64
cargo install just

3. 为交叉编译配置Cargo。在~/.cargo/config中添加以下内容。

[target.i686-pc-windows-gnu]
linker = "/usr/bin/i686-w64-mingw32-gcc"

4. 克隆此仓库。构建二进制文件。

git clone https://github.com/dbohdan/csv2html
cd csv2html
just release-windows

命令行参数

Convert CSV files to HTML tables

Usage: csv2html [OPTIONS] [input]

Arguments:
  [input]  Input file

Options:
  -o, --output <OUTPUT>    Output file
  -t, --title <TITLE>      HTML document title
  -d, --delimiter <DELIM>  Field delimiter character for CSV (',' by default)
  -s, --start <N>          Skip the first N-1 rows; start at row N
  -r, --renumber           Replace the first column with row numbers
  -n, --no-header          Do not use the first row of the input as the header
  -c, --complete-document  Output a complete HTML document instead of only a
table
      --table <ATTRS>      HTML attributes for the tag <table> (e.g., --table
'foo="bar" baz' results in the output <table foo="bar" baz>...</table>); it is
up to the user to ensure the result is valid HTML
      --tr <ATTRS>         Attributes for <tr>
      --th <ATTRS>         Attributes for <th>
      --td <ATTRS>         Attributes for <td>
  -h, --help               Print help
  -V, --version            Print version

使用示例

以下命令读取test/test.csv中的数据,并将对应的数据写入到test.html中的HTML表格。

csv2html -o test.html tests/test.csv

以下命令从pub.csv读取分号分隔的数据,从第267行开始。表格的第一列用从1开始的行号替换(除了标题行,保持不变)。输出被重定向到文件pub.html

csv2html pub.csv -d \; -r -s 267 > pub.html

与上面相同,但输出是一个完整的HTML文档,而不是仅仅表格的标记

csv2html pub.csv -d \; -r -s 267 -c > pub.html

如果输入文件是制表符分隔的,请使用 \t 作为分隔符参数。

# POSIX.
csv2html --delimiter '\t' tests/test.tsv
rem Windows.
csv2html-win32.exe --delimiter \t tests/test.tsv

\t 是唯一实现的 转义序列

许可证

三条款(“新”或“修订”)BSD。请参阅文件 LICENSE

依赖项

~2.4–3.5MB
~51K SLoC