感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Node.jsでカンマ区切りファイルやタブ区切りファイルを読み込む

スポンサーリンク

Node.jsでCSVファイルを操作する。

まず、ya-csvをインストールする。

[sysmgr@localhost node]$ npm install ya-csv
npm http GET https://registry.npmjs.org/ya-csv
npm http 200 https://registry.npmjs.org/ya-csv
npm http GET https://registry.npmjs.org/ya-csv/-/ya-csv-0.9.2.tgz
npm http 200 https://registry.npmjs.org/ya-csv/-/ya-csv-0.9.2.tgz
ya-csv@0.9.2 ../node_modules/ya-csv

次に、CSVファイルを用意する。

[sysmgr@localhost node]$ cat csv.txt 
hoge,fuga,foo,bar

こんな感じ。
で、CSVファイルを読み込むJavaScript

var csv = require('ya-csv');
var reader = csv.createCsvFileReader('csv.txt');
var data = [];

reader.on('data', function(record) {
    data.push(record);
}).on('end', function() {
    //console.log(data);
    var arry = data[0];
    var len = arry.length;
    for(var i = 0; i < len; i++ ) {
        console.log(arry[i]);
    }
});

急いで変な配列作ってしまったのはご愛嬌。これはアンチパターンだと思う。
実行結果は以下の通り。

[sysmgr@localhost node]$ node readcsv.js 
hoge
fuga
foo
bar

Node.jsでタブ区切りファイルを読み込んでみる。

実は上記のya-csvのcreateCsvFileReaderはセパレータを指定することができる。
そこでタブを指定したり、コロン(:)を指定すれば、任意のセパレータのファイルを読み込むことができる。
サンプルは以下の通り。

var tab = require('ya-csv');
var reader = tab.createCsvFileReader('tabtext.txt', {
   'separator' : '\t'
});
var data = [];

reader.on('data', function(record) {
    data.push(record);
}).on('end', function() {
    console.log(data);
});

タブ区切りのデータは以下の通り。

[sysmgr@localhost node]$ cat tabtext.txt 
hoge	fuga	bar	boo	sho322

実行結果は以下のとおり。

[sysmgr@localhost node]$ node readtab.js 
[ [ 'hoge', 'fuga', 'bar', 'boo', 'sho322' ] ]

タブ区切りのファイルを読み込み、オブジェクトに格納している。

勉強した本

Nodeクックブック

Nodeクックブック

感謝のプログラミング

今回で感謝のプログラミングは【550時間目】
10000時間まで、あと【9450時間】