Skip to content
/ big-csv Public

An uncomplicated CSV library for working with big CSV files.

License

Notifications You must be signed in to change notification settings

cjroth/big-csv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Big CSV

NPM Version NPM Downloads Node.js Version Build Status Coverage Status Gittip

An uncomplicated CSV library (parser and serializer) that works with big CSV files. This writes and reads individual lines instead of the entire file so that you don't have to load the entire CSV file into memory. It works at the moment but I'm still hashing out the scalability of it.

Install

npm install big-csv or yarn add big-csv


id,name,weight,description,inventory.amount,inventory.price
1,Apple,23.25,"A red fruit",5,1.25
2,Orange,19.68,"An orange colored round fruit",9,2.30

Reading

const CSV = require('big-csv')

let csv = new CSV('fruit.csv')
csv.read().then(console.log)

Outputs:

[
    {
        "id": 1,
        "name": "Apple",
        "weight": 23.25,
        "description": "A red fruit",
        "inventory": {
            "amount": 5,
            "price": 1.25
        }
    },
    {
        "id": 2,
        "name": "Orange",
        "weight": 19.68,
        "description": "An orange colored round fruit",
        "inventory": {
            "amount": 9,
            "price": 2.30
        }
    }
]

Writing

csv.write({
    "id": 3,
    "name": "Watermelon",
    "weight": 100.5,
    "description": "A strange green spherical type blob",
    "inventory": {
        "amount": 9232,
        "price": -252.00
    }
}).then(_ => {
    console.log('wrote object to csv')
})

Creates the CSV, using the object's property names as a header, and appends a row to the CSV:

3,Watermelon,100.5,"A strange green spherical type blob",9232,-252.00

About

An uncomplicated CSV library for working with big CSV files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published