JavaScript(Node.js)でファイルを読み込む方法
まずはimport
モジュールのimportは下記のように行う
const fs = require('fs'); const readline = require('readline');
fs
filesystemの意味。readline
ファイルを一行ずつ読み込む
読み込みたいファイルを指定し、filestreamを生成する
const rs = fs.createReadStream('./popu-pref.csv');
streamからreadするオブジェクトを指定する
const rl = readline.createInterface({ 'input': rs, 'output': {} });
以下、Node.js公式からの引用
input <stream.Readable> The Readable stream to listen to. This option is required.
output <stream.Writable> The Writable stream to write readline data to.
読み込んだファイルに書き込みたいときは'output'
も指定する必要がありそう。
読み込んだ行が改行にあたったら、無名関数をcallするようにする
streamにてreadするオブジェクトからイベントが発生(例はline
)したら、無名関数が実行される
rl.on('line', (lineString) => { const columns = lineString.split(','); const year = parseInt(columns[0]); const prefecture = columns[1]; const popu = parseInt(columns[3]); // process }
ファイルの最後まで読み込んだらclose
readline
のストリームが最終行にあたったら、自動的にclose
イベントが発生するはずなので、
close
イベントが発生した際の処理を書いておく
rl.on('close', () => { //process }