我正在使用 node-csv 解析一堆带有 Node 的 csv 文件。我有数百个文件需要解析,但是,我需要向每个文件添加标题行以利用解析器中的“列”选项。 columns 选项将每一行解析为一个对象,其中标题行充当对象键,但是要使此选项起作用,您当然需要一个标题行。
通过查看文档,我的直觉告诉我,我应该能够通过添加行的转换函数来传输 Node 流,但在不更改文件中现有数据的情况下,我很难完成这项工作。
这就是我的想法,但是如何将一行写入“零”列?
let createStream = function() {
let stream = fs.createReadStream(transPath+'/'+file, {encoding: 'utf8'});
let parser = csv.parse({columns: true});
let transform = csv.transform(function(record, doneTransform){
//check if first zero row,
//Add header column.
doneTransform();
});
return stream.pipe(transform).pipe(parser);
};
createStream().on('data', function(transaction){
//do stuff with object data
});
最佳答案
真正的解决方案:
let createStream = function() {
let stream = fs.createReadStream(transPath+'/'+file, {encoding: 'utf8'});
let parser = csv.parse({skip_empty_lines: false, auto_parse: true, columns: header});
return stream.pipe(parser);
};
createStream().on('data', function(transaction){
q.push(transaction);
});
关于javascript - 如何使用 node-csv 将标题行添加到 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40027283/