[英]npm csv-parse not reading all rows
I'm trying to read a CSV using csv-parse , but the final line isn't being read. 我正在尝试使用csv-parse读取CSV,但未读取最后一行。 My code:
我的代码:
const handleFiles = event => {
const f = event.target.files[0];
const parser = CsvParse({delimiter: ',', columns: true});
parser.on('readable', function(){
console.log('readable');
let record;
// eslint-disable-next-line no-cond-assign
while (record = parser.read()) {
console.log(record);
}
});
const reader = new FileReader();
reader.onload = (function() {
return function(e) {
console.log('Writing');
parser.write(e.target.result);
};
})(f);
reader.readAsText(f);
};
The input: 输入:
Letter,Number
A,1
B,2
C,3
The output: 输出:
Writing
readable
{Letter: "A", Number: "1"}
readable
{Letter: "B", Number: "2"}
Why is C3 not being read? 为什么不读取C3?
And why is "readable" being printed twice? 以及为什么“可读”被打印两次? I have a feeling I'm not understanding csv-parse correctly.
我有一种不正确理解csv-parse的感觉。
Thanks 谢谢
I was missing parser.end();
我缺少
parser.end();
after parser.write(e.target.result);
在
parser.write(e.target.result);
The last row was read correctly after adding that. 添加完后,正确读取了最后一行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.