0
後、私は次のセットアップでは、CSV-解析実行されている非常に奇妙な行動を経験しています: CSV -^1.1.0 ストリーム変換 -^0.1.1 ノード - v4.6.0ノードCSV-解析停止16行
とオブジェクトの配列にCSVを変換するために、次のコードを実行:
var parse = require('csv').parse
var fs = require('fs')
var streamtransform = require('stream-transform')
function mapCsvRow(headers, record) {
return record.reduce((p, c, i) => {
p[headers[i]] = c //eslint-disable-line
return p
}, {})
}
function parseFile(path) {
var headers
var output = []
var parser = parse({ delimiter: ',' })
var input = fs.createReadStream(path)
var transformer = streamtransform((record) => {
if (!headers) {
headers = record
return record
}
output.push(mapCsvRow(headers, record))
return record
})
// Return a new promise to wrap the parsing stream
return new Promise((resolve, reject) => {
input
.pipe(parser)
.pipe(transformer)
.on('error', e => reject(e))
.on('finish',() => resolve(output))
})
}
module.exports = parseFile
module.exportsは=構文解析ファイル 何が起こることは、パーサーは16件のレコードを超えるファイルを処理する上で停止していることです。エラーなし、仕上げなし、何もありません。
これをデバッグする方法がわかりません。そのとき、パーサからの入力を取得できませんでした。
'.csv'ファイルには、行/行データのいずれかにカンマが追加されていますか? –