LoginSignup
28
25

More than 5 years have passed since last update.

Node.jsでCSVをパースする

Last updated at Posted at 2013-09-18

日本語環境で作成されたcsvはシフトJISなので,Node.jsで扱うにはUTF-8に変換する必要がある.今回使うモジュールはnode-csvとiconvで,内部はstreamが実装されているから,素直にこれを使う.

npm install csv iconv
var fs = require('fs')
  , csv = require('csv')
  , Iconv = require('iconv').Iconv;

var iconv = new Iconv('SHIFT_JIS', 'UTF-8//TRANSLIT//IGNORE');

csv()
  .from.stream(fs.createReadStream('sample.csv').pipe(iconv))
  .on('record', function(row, index) {
    console.log(index, row.join(','));
  });

http://qiita.com/toshirot/items/b8137a66ca35e1b6a729 ではチャイルドプロセスでiconvを呼び出していた.これを参考にパースした結果を変換しようとしたが,pipeを使えばスッキリと記述できた.

28
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
25