@rollup/plugin-dsv
v3.0.5
Published
Convert .csv and .tsv files into JavaScript modules with d3-dsv
Downloads
47,044
Keywords
Readme
@rollup/plugin-dsv
🍣 A Rollup plugin which converts .csv
and .tsv
files into JavaScript modules with d3-dsv.
Requirements
This plugin requires an LTS Node version (v14.0.0+) and Rollup v1.20.0+.
Install
Using npm:
npm install @rollup/plugin-dsv --save-dev
Usage
Create a rollup.config.js
configuration file and import the plugin:
import dsv from '@rollup/plugin-dsv';
export default {
input: 'src/index.js',
output: {
dir: 'output',
format: 'cjs'
},
plugins: [dsv()]
};
Then call rollup
either via the CLI or the API.
Practical Example
Suppose that you have a CSV (or TSV!) file which contains some information on delicious fruits:
type,count
apples,7
pears,4
bananas,5
And suppose you'd like to import that CSV as an Array
within some part of your code. After adding the plugin (as shown above), you may import
(or require
) the CSV file directly. The import will provide an Array
of Objects
representing rows from the CSV file:
import fruit from './fruit.csv';
console.log(fruit);
// [
// { type: 'apples', count: '7' },
// { type: 'pears', count: '4' },
// { type: 'bananas', count: '5' }
// ]
Options
processRow
Type: Function
Default: null
Specifies a function which processes each row in the parsed array. The function can either manipulate the passed row
, or return an entirely new row object.
This option could be used for converting numeric string
values into Number
values. – for example turning numeric values into numbers, e.g.
dsv({
processRow: (row, id) => {
Object.keys(row).forEach((key) => {
var value = row[key];
row[key] = isNaN(+value) ? value : +value;
});
}
});