simplecsv
Version:
Fast and compact CSV parser for parsing CSV with CSV to JSON support.
124 lines (86 loc) • 3.24 kB
Markdown
[](/)
SimpleCSV.js is a fast and compact JavaScript CSV library for parsing csv strings, and parsing JSON table objects.
## Features ##
* **In-the-Browser, For-The-Browser:** Only 3 lines of code to parse CSV strings, and JSON tables.
* **Python csv compatible:** Guaranteed to produce the same results as Python 2.7 csv parser.
* **JSON parser:** Convert CSV to JSON, or JSON to CSV.
* **No dependancies:** Tiny standalone .js file.
## Downloads ##
* [Version @@_pkg_version_, minimized, 4.4K : http://simplecsvjs.com/@@_minimized_file_](http://simplecsvjs.com/@@_minimized_file_)
* [Version @@_pkg_version_, un-minimized, 13K : http://simplecsvjs.com/@@_un_minimized_file_](http://simplecsvjs.com/@@_un_minimized_file_)
## Examples ##
### Browser ###
In any web page:
```html
<script src="http://simplecsvjs.com/@@_minimized_file_"></script>
<script>
var simplecsv = require('simplecsv');
var csv = new simplecsv.csv();
var parsedCsvdata = csv.parseString('Turing, 35, chess\nSamuel, 21, checkers');
</script>
```
### Node.js ###
```js
var simplecsv = require('simplecsv');
var csv = new simplecsv.csv();
var parsedCsvdata = csv.parseString('Turing, 35, chess\nSamuel, 21, checkers');
```
## More Examples ##
### CSV to JSON ###
```js
var simplecsv = require('simplecsv');
var csv = new simplecsv.csv();
var jsonObj = csv.CSVToJSON('Planet Name, Color\nMars,red-orange\nUranus,light-blue',
{ hasHeaders: true });
console.log(jsonObj);
```
output is:
```json
[{"Planet Name":"Mars"," Color":"red-orange"},{"Planet Name":"Uranus"," Color":"light-blue"}]
```
### JSON -> CSV ###
```js
var simplecsv = require('simplecsv');
var csv = new simplecsv.csv();
var str = csv.JSONToCSV('[{"Planet Name":"Mars"," Color":"red-orange"},' +
'{"Planet Name":"Uranus"," Color":"light-blue"}]');
console.log(str);
```
output is:
```
Planet Name, Color
Mars,red-orange
Uranus,light-blue
```
### console.log() every cell ###
```js
var simplecsv = require('simplecsv');
var csv = new simplecsv.csv();
var cdata = csv.parseString('Planet Name, Color\nMars,red-orange\nUranus,light-blue', { hasHeaders: true });
for (var i = 0; i < cdata.rowCount; i++) {
for (var j = 0; j < cdata.columnCount; j++) {
console.log(cdata.rows[i][j]);
}
}
```
### find errors ###
```js
var simplecsv = require('simplecsv');
var csv = new simplecsv.csv();
var cdata = csv.parseString('Planet Name, Color\nMars\nred-orange, Uranus,light-blue', { hasHeaders: true });
console.log(csv.findErrors(cdata));
```
# Quick Start #
# Install #
Install with [npm](https://www.npmjs.com/).
~~~
$ npm install simplecsv
~~~
# Newline #
SimpleCSV.js uses `\n` and `\r\n` for newline when parsing. Currently there is no support for Mac's `\r` for newline (i.e. universal mode in Python csv).
# Support #
For bug reports, feature requests and general questions, please feel free to email baris@onehundredyearsofcode.com.
# Development #
[Refer to development notes](https://github.com/byuksel/simplecsv/blob/master/CONTRIBUTING.md)
# Documentation #
[Library manual](https://cdn.rawgit.com/byuksel/simplecsv/master/docs/index.html)