1
0
mirror of https://github.com/anthonyaxenov/csv2md.git synced 2024-12-26 07:58:30 +00:00
Stupidly simple tool to convert csv-file to markdown table
Go to file
2024-02-05 23:12:01 +08:00
.vscode New features and refactorings 2022-02-23 22:04:07 +08:00
.gitignore New v1.2.0: tsv support 2022-02-23 12:25:40 +08:00
example.csv Update example.csv for more test data 2022-02-17 13:07:42 +08:00
example.tsv New v1.2.0: tsv support 2022-02-23 12:25:40 +08:00
go.mod Initial version 1.0.0 2022-02-16 17:49:22 +08:00
LICENSE Initial version 1.0.0 2022-02-16 17:49:22 +08:00
main.go Bump version number 2022-02-23 22:05:35 +08:00
Makefile Fixed makefile 2024-02-05 23:12:01 +08:00
README.md New features and refactorings 2022-02-23 22:04:07 +08:00

csv2md

Stupidly simple tool to convert csv/tsv to markdown table.

Prints result in stdout.

Usage:
    csv2md [-help|--help] [-f=<FILE>] [-h=<HEADER>] [-t] [-a]

Available arguments:
    -help|--help   - show this help
    -f=<FILE>      - convert specified FILE
    -h=<HEADER>    - add main header (h1) to result
    -t             - convert input as tsv
    -a             - align columns width

FILE formats supported:
    - csv (default)
    - tsv (with -t flag)

Path to FILE may be presented as:
    - absolute
    - relative to current working directory
    - relative to user home directory (~)

Both HEADER and FILE path with whitespaces must be double-quoted.
To save result as separate file you should use redirection operators (> or >>).

IMPORTANT:

  1. Input data must be valid csv/tsv
  2. Whitespaces allowed only between double-quotes
  3. Due to markdown spec first line of result table will always be presented as header.
    So if your raw data hasn't one you'll should add it before conversion or edit later in ready md.

Examples

csv2md                                - paste or type csv to stdin and then
                                        press Ctrl+D to view result in stdout
csv2md -t > example.md                - paste or type tsv to stdin and then
                                        press Ctrl+D to write result in new file
csv2md -f example.csv                 - convert csv from file and view result in stdout
csv2md -t < example.tsv               - convert tsv from stdin and view result in stdout
csv2md -t < example.tsv > example.md  - convert tsv from stdin and write result in new file
cat example.csv | csv2md              - convert csv from stdin and view result in stdout
csv2md -t -f=example.tsv > example.md - convert tsv from file and write result in new file
csv2md -f example.csv | less          - convert csv from file and view result in stdout using pager
csv2md -f example.csv | code -n -     - convert csv from file and open result in vscode

...anything is possible with redirection and piping, inc. grep, sed, awk, etc.

You can generate some examples here: csv, tsv

Compilation

  1. Install go.
  2. Download this repo via zip or git clone.
  3. Run make help to get help about compilation or go run . [ARGS...] to build and run temporary binary.

License

MIT