node.jsのいろいろなモジュール48 – CSV操作をする

この記事は公開されてから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データの処理も、このモジュールで簡単に行うことができますね。

参考サイトなど