Javascriptでcsvデータを読み込んで特定文字列で簡単に抽出する方法
Javascriptでcsvデータを読み込んで特定文字列で簡単に抽出する方法について書き留めておきます。
まずはcsvファイルです。こんな感じで作りました。(ヘッダーを書き忘れた…)
以下のソースコードは「A002」のみ抽出する例です。
// 現在のスクリプトが存在するディレクトリ内の 'test.csv' ファイルへの絶対パスを生成
const filePath = path.join(__dirname, 'test.csv');
// 抽出したい文字列を定義
const target1 = 'A002';
// 指定されたパスのファイルを非同期で読み込む
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) { // ファイル読み込み中にエラーが発生した場合
// エラーメッセージをコンソールに出力
console.error('Error', err);
return; // 関数を終了
}
// ファイルの内容を改行で分割し、target1を含む行のみを抽出して新しい配列linesを作成
const lines = data.split('\n').filter(line => line.includes(target1));
console.log('抽出された行:\n', lines);
});
// [出力例]
// 抽出された行:
// [ 'A002,東京都', 'A002,埼玉県' ]
それでは次に「A002」「A004」両方を抽出する例です。(もしAND条件にしたい場合は || を && にすればOKです。)
const filePath = path.join(__dirname, 'test.csv'); // CSVファイルのパス
const target1 = 'A002';
const target2 = 'A004';
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error('ファイルの読み込みに失敗しました:', err);
return;
}
//OR条件で抽出
const lines = data.split('\n').filter(line => line.includes(target1) || line.includes(target2));
console.log('抽出された行:\n', lines);
});
// [出力例]
// 抽出された行:
// [ 'A002,東京都', 'A002,埼玉県', 'A004,大阪府', 'A004,兵庫県' ]
スポンサーリンク
