A super-simple package that fetches a CSV file and parses its data into an object in one function.
data.csv:
foo,bar
one,two
compile.js:
const getCSV = require('get-csv');
getCSV('data.csv')
.then(rows => console.log(rows));
data
will log as [{foo: "one", bar: "two"}]
.
You can pass a URL instead of a file path:
getCSV('http://www.path.to.my.doc.csv')
.then(rows => /* some JS */);
You can also pass a stream:
getCSV(fs.createReadStream('data.csv'))
.then(rows => /* some JS */);
You can pass fast-csv parsing options as the second argument.
The headers
option defaults to true
when using getCSV
, but you can override this by explicitly setting it false
in the options argument. Like so:
getCSV('data.csv', {headers: false})
.then(rows => console.log(rows));
Here, rows
will log as [['foo','bar'],['one','two']]
.
getCSV also supports old-fashioned callbacks. Example:
getCSV('test.csv', function(err, data){
/* some JS */
});