NodeJS: konvert CSV na JSON

Potřeboval jsem do MongoDB naimportovat hafo dat z Excelu. Nejjednodušší bylo XLS soubor uložit do CSV a pak jednotlivé řádky zkonvertovat na JSON objekty.
Asi takhle:

var fs = require('fs');
var path = require('path');

// nazev souboru, ktery se bude konvertovat
var fileName = "./kalendar.csv";

// nacteni daneho souboru
var f = fs.readFileSync(fileName, {
        encoding: 'utf-8'
    },
    function(err) {
        console.log(err);
    });

// Rozdeli nacteny soubor na jednotlive radky, a protoze je soubor z Win, pak \r\n
f = f.split("\r\n");

// z prvniho radku nactu nazvy jednotlivych sloupcu
// predpokladam, ze oddelovacem ke strednik, ale muze byt cokoliv
var headers = f.shift().split(";");

// pole zkonvertovanych JSON objektu
var json = [];

// konvertuje jednotlive nactene CSV radky
f.forEach(function(d) {
    var tmp = {};
    var row = d.split(";");
    for (var i = 0; i < headers.length; i++) {
        tmp[headers[i]] = row[i];
    }
    json.push(tmp);
});

// hotovo, ted jen kouknout co se nacetlo
json.forEach(function(p) {
    console.log(p);
});

Nutno ještě dodat, že k tomuto existuje spousta NPM balíčku a když jsem s s převodem začínal, jasně že jsem šáhnul po nějakém z nich. Ale protože jsem neuspěl s implementací hned napoprvé, tak jsem si to napsal sám…
Načtení 684 řádku do pole JSON objektů na mém Macovi trvalo 0.144s….