Help us understand the problem. What is going on with this article?

csv-parser モジュールでCSV文字列を処理したい場合の方法

csv-parser で CSV文字列をパースする。

https://www.npmjs.com/package/csv-parser

上のモジュールで単純なCSV文字列をパースしたい場合はリーダブルストリームを
一旦生成することで csv-parserのインターフェイスを合わせる事ができる。
(もっと簡単な方法がありそう

import csvParser from "csv-parser"
import { Readable } from "stream"

//CSVが格納された文字列
const csvString = `col1,col2,col3
row1,row2,row3
row1,row2,row3`

// Readable Stream を作成
const readable = new Readable({
    read:(size) => {
        //この処理の記述の必要性が実は良く分からない
        return true
        }
})

readable.on("data",(chunk) => {
   //parse されたデータ
   console.log(chunk)
})
.on("err",(err) => {
   //error 時の処理
})
.on("end",() => {
   //終了時の処理
})
.write(csvString,(err) => { //CSV文字列をストリームに書き込む
    //close イベントを emit する

    readable.emit("end")
})


Promiseが必要であれば end コールバックでResolveすれば多分OK。

kei-nakoshi
働いています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away