Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nsatragno/angular-csv-parser

An angularjs service with methods to turn strings representing CSV files into arrays of objects and vice-versa
https://github.com/nsatragno/angular-csv-parser

Last synced: 5 days ago
JSON representation

An angularjs service with methods to turn strings representing CSV files into arrays of objects and vice-versa

Awesome Lists containing this project

README

        

# angular-csv-parser

An angularjs service with methods to turn strings representing CSV files into
arrays of objects and vice-versa.

## Use

Include the angular-csv-parser.js file into your project by doing either

```javascript
require("angular-csv-parser");
```

or

```html

```

### Parsing

Use `parse` to convert a string containing a valid CSV string into an array of
objects.

```javascript
angular.module("my-module", ["angular-csv-parser"])
.controller("MyController", ["CSVParser", function (CSVParser) {
let string = "header1,header2,header3\n"
+ "value 1,value 2,value 3\n"
+ "value 4,value 5,value 6";

let result = CSVParser.parse(string);

// result is
// [{
// header1: "value 1",
// header2: "value 2",
// header2: "value 3",
// },{
// header1: "value 4",
// header2: "value 5",
// header2: "value 6",
// }]
});
```

### CSVfiying

Use `csvify` to convert an array of objects into a string in CSV format.

```javascript
angular.module("my-module", ["angular-csv-parser"])
.controller("MyController", ["CSVParser", function (CSVParser) {
let array = [{
header1: "value 1",
header2: "value 2",
header2: "value 3",
},{
header1: "value 4",
header2: "value 5",
header2: "value 6",
}];

let string = CSVParser.csvify(array);

// string is "header1,header2,header3\n"
// + "value 1,value 2,value 3\n"
// + "value 4,value 5,value 6";
});
```

Every object in the array must have the same attribute names.

If you want to create a CSV file with only a header, you can use `csvifyEmpty`

```javascript
angular.module("my-module", ["angular-csv-parser"])
.controller("MyController", ["CSVParser", function (CSVParser) {
let headers = ["header1", "header2", "header3"];

let string = CSVParser.csvify(array);

// string is "header1,header2,header3"
});
```

Use `matrixToCSV` to convert an arbitrary matrix into a CSV string

```javascript
angular.module("my-module", ["angular-csv-parser"])
.controller("MyController", ["CSVParser", function (CSVParser) {
let matrix = [["uno", "dos", "tres"],
[1, 2, 3],
["a"]];

let string = CSVParser.matrixToCSV(matrix);

// string is "uno,dos,tres\n"
// + "1,2,3\n"
// + "a\n";
});
```

## Testing

### Single run

`npm test`

### Continuous

`karma start`