この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
nodeでCSVの操作
CSVファイルをパースして処理する機会は今も昔も非常に多いと思います。 今回紹介するCSV.jsは、nodeで使用できるシンプルなCSVパーサです。
環境構築方法
今回使用した動作環境は以下のとおりです。
- OS : MacOS X 10.9.3
- Node : v0.10.26
サンプルアプリ作成
モジュールのインストール
まずはモジュールをnpmでインストールしましょう。
% npm install comma-separated-values
サンプル作成
モジュールの使い方は簡単です。 下記のようにモジュールを読み込んだ後、CSVオブジェクトにCSVデータを渡してparse関数を呼ぶだけでパースされたJSON形式のデータが取得できます。
var CSV = require("comma-separated-values");
var data = '\
year,age,name\r\n\
1980,34,taro\r\n\
1979,35,hanako\r\n\
';
var result = new CSV(data, { header: true }).parse();
console.log(result);
すると、下記のような構造化されたデータが取得できます。
[ { year: 1980, age: 34, name: 'taro' },
{ year: 1979, age: 35, name: 'hanako' } ]
また、CSV1レコードずつを処理したい場合、forEach関数を使用して処理することもできます。
new CSV(data, { header: true }).forEach(function(object) {
console.log(object);
});
まとめ
よくあるCSVデータの処理も、このモジュールで簡単に行うことができますね。
参考サイトなど
- Github: https://github.com/knrz/CSVjs