Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

csv2md

pstaender3.3kMIT1.1.0

csv2md transforms csv data to markdown tables

csv, markdown, table, converter

readme

Transforms csv to markdown table

Build Status

Install with:

  $ npm install -g csv2md

Small tool to convert (larger) csv to markdown tables. Processes stdin or csv file.

Usage

  $ csv2md data.csv > data.md

Piping data is possible (and recommend for larger files):

  $ data.csv < csv2md

  max_i | min_i | max_f | min_f
  ---|---|---|---
  -122.1430195 | -122.1430195 | -122.415278 | 37.778643
  -122.1430195 | -122.1430195 | -122.40815 | 37.785034
  -122.4194155 | -122.4194155 | -122.4330827 | 37.7851673

To write the resulting markdown to a file, use the familiar stream syntax:

  $ csv2md < data.csv > data.md

Pretty Markdown

The pretty / p option will pad cells to uniform width and uses beginning and ending |-delimiters by default:

  $ csv2md -p < data.csv

  | max_i        | min_i        | max_f        | min_f      |
  |--------------|--------------|--------------|------------|
  | -122.1430195 | -122.1430195 | -122.415278  | 37.778643  |
  | -122.1430195 | -122.1430195 | -122.40815   | 37.785034  |
  | -122.4194155 | -122.4194155 | -122.4330827 | 37.7851673 |

It's much more human readable than the default inline-style but will disable stream processing.

Options

Use -h for more command options:

  $ csv2md -h

Using csv2md programatically

import { Csv2md } from 'csv2md'

let csvString = fs.readFileSync(__dirname + '/data.csv').toString()

let csv2md = new Csv2md({
  pretty: true
})

let markdown = await csv2md.convert(csvString)

Synchronous usage

import { Csv2md, csv2md } from 'csv2md'

let csvString = `
a,b,c_1,c_2
-122.1430195,124.3,true,false
null, a ,a very long string,~
a,b,c_1,c_2`.trim()

let markdown = csv2md(csvString, {
  pretty: true
})

Stream

import { Csv2md } from 'csv2md'
import * as transform from 'stream-transform'

const transformer = transform((record, cb) =>
  csv2md.transform(record, cb)
)
process.stdin
  .pipe(parser)
  .pipe(transformer)
  .pipe(process.stdout)
}

Contributors