npm install parse-csvCSV parser for node.js.
- Install
- Usage
- API
* Available renderers
- Options
* Parser options
* Renderer options
- Related projects
- Contributing
- Building docs
- Running tests
- Author
- License
Install with npm:
``sh`
$ npm install parse-csv --save
Based on mr-data-converter by @shancarter. Copyright (c) 2011 Shan Carter.
`js
var csv = require('parse-csv');
var str = [
'id,fruit,vegetable',
'1,apple,carrot',
'2,orange,corn',
'3,banana,potato'
].join('\n');
var obj = csv.toJSON(str, {headers: {included: true}});
console.log(obj);
`
Parse a string of CSV to a datagrid and render it using the specified renderer. The .json renderer is used by default.
Params
* method {String}: The name of the renderer method to use, or a string of CSV. If CSV, the .json method will be used.str
* {String|Object}: String of CSV or options.options
* {Object}returns
* {String}
Example
`js
var str =
id,fruit,vegetable
1,apple,carrot
2,orange,corn
3,banana,potato;
var res = csv(str, {headers: {included: true}});
console.log(res);
// results in:
// [{"id":"1","fruit":"apple","vegetable":"carrot"},
// {"id":"2","fruit":"orange","vegetable":"corn"},
// {"id":"3","fruit":"banana","vegetable":"potato"}]
`
Parse a string of CSV to a datagrid, format it using one of the .json* renderer methods, then parse it back to JSON.
Params
* method {String}: The name of the renderer method to use, or a string of CSV. If CSV, the .json method will be used.str
* {String|Object}: String of CSV or options.options
* {Object}returns
* {String}
Example
`js
var str =
id,fruit,vegetable
1,apple,carrot
2,orange,corn
3,banana,potato;
var res = csv.toJSON('jsonDict', str, {headers: {included: true}});
console.log(res);
// results in:
// { '1': { fruit: 'apple', vegetable: 'carrot' },
// '2': { fruit: 'orange', vegetable: 'corn' },
// '3': { fruit: 'banana', vegetable: 'potato' } }
`
Create a new Parser with the given options.
Params
* options {Options}
Example
`js`
var csv = require('parse-csv');
var parser = new csv.Parser();
Parse CSV or tab-delimited string into a data-grid formatted JavaScript object.
Params
* str {String}options
* {Object}returns
* {Object}
Example
`js
var parser = new Parser();
var str =
id,fruit,vegetable
1,apple,carrot
2,orange,corn
3,banana,potato;
var datagrid = parser.parse(str);
// results in:
// { data:
// [ [ '1', 'apple', 'carrot' ],
// [ '2', 'orange', 'corn' ],
// [ '3', 'banana', 'potato' ] ],
// header:
// { names: [ 'id', 'fruit', 'vegetable' ],
// types: [ '-1': 'string' ] } }
`
Create a new Renderer with the given options.
Params
* options {Object}
Example
`js`
var csv = require('parse-csv');
var renderer = new csv.Renderer();
The following render methods are available when the renderer is used directly. Or specify the renderer on options.renderer when using the main export function.
* .as: Actionscript.asp
* : ASP/VBScript.html
* : HTML.json
* : JSON - Properties.jsonArrayCols
* : JSON - Column Arrays.jsonArrayRows
* : JSON - Row Arrays.jsonDict
* : JSON - Dictionary.mysql
* : MySQL.php
* : PHP.python
* : Python - Dict.ruby
* : Ruby.xmlProperties
* : XML - Properties.xml
* : XML - Nodes.xmlIllustrator
* : XML - Illustrator
Example
To render CSV as HTML:
`js
var csv = require('parse-csv');
var renderer = new csv.Renderer();
var str =
id,fruit,vegetable
1,apple,carrot
2,orange,corn
3,banana,potato;
var html = renderer.html(str, {headers: {included: true}});
console.log(html);
`
Results in:
`html`
id
fruit
vegetable
1
apple
carrot
2
orange
corn
3
banana
potato
Available parser options and the actual defaults used.
`js`
{
headers: {
included: false,
downcase: true,
upcase: true
},
delimiter: 'tab',
decimalSign: 'comma'
}
Available renderer options and the actual defaults used.
`js
{
headers: {
included: true,
downcase: true,
upcase: true
},
delimiter: 'tab',
decimalSign: 'comma',
outputDataType: 'json',
columnDelimiter: "\t",
rowDelimiter: '\n',
inputHeader: {},
outputHeader: {},
dataSelect: {},
outputText: '',
newline: '\n',
indent: ' ',
commentLine: '//',
commentLineEnd: '',
tableName: 'converter',
useUnderscores: true,
includeWhiteSpace: true,
useTabsForIndent: false
}
`
You might also be interested in these projects:
* gulp-convert: Gulp plugin to convert to or from JSON, YAML, XML, PLIST or CSV. | homepage
* parser-csv: CSV parser, compatible with [parser-cache]. | homepage
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Generate readme and API documentation with verb:
`sh`
$ npm install verb && npm run docs
Or, if verb is installed globally:
`sh`
$ verb
Install dev dependencies:
`sh``
$ npm install -d && npm test
Jon Schlinkert
* github/jonschlinkert
* twitter/jonschlinkert
Copyright © 2016, Jon Schlinkert.
Released under the MIT license.
*
_This file was generated by verb, v0.9.0, on May 09, 2016._