javascript - 如何使用 node-csv 将标题行添加到 CSV 文件?

标签 javascript node.js csv

我正在使用 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/

相关文章:

python - CSV 在单个 csv 字段中的单个列表中写入多个项目

javascript - 联系表单无法访问 php 脚本

php - 启动下载的最佳方式?

javascript - 文件上传不适用于 Angular 和 Node.JS

node.js - 如何从命令行使用 node 模块?

用于存储在 csv 文件中的 Java 转义字符串

python - 在线读取 csv 时出现错误 Error tokenizing data

javascript - 在 Angular 中缩短 Linky

javascript - 在 Razor 中下拉更改时添加 html

node.js - 强尼五号 : board not ready