没有输出fast-csv writeToPath

时间:2019-04-23 19:11:56

标签: javascript node.js csv

我正在编写一个脚本,该脚本的核心是解析.csv文件以将某些列存储在数组中,然后将内容写入另一个.csv文件。我能够使用fast-csv解析文件,并在终端中确认我的阵列格式正确。但是,当我尝试使用fast-csv将该数组写入.csv文件时,其内容永远不会出现在文件中,并且不会引发任何错误。我已经验证了数组将一直传递到回调。另外,我甚至用一个简单的数组替换了writeToPath函数中的该变量,但仍然没有运气。任何帮助将不胜感激。

   const processFile = (fileName, file, cb) => {


    let writeData = []
    let tempArray = []

    csv.fromPath(basePath + file, {ignoreEmpty: false, headers: false})
      .on("data", function(data){
        if (data[0] != ''){
        [startDate, endDate] = fileName
        tempArray[0] = data[0]
        tempArray[1] = data[1]
        tempArray[2] = data[2]
        tempArray[3] = data[3]
        tempArray[4] = data[4]
        tempArray[5] = data[8]
        tempArray[6] = ""
        tempArray[7] = ""
        tempArray[8] = ""
        tempArray[9] = startDate
        tempArray[10] = endDate
        writeData[i] = tempArray
        writeData.shift()
        tempArray = []
        i++

        }
      })
      .on("end", () => {
        console.log('end')
    }).on('finish', (() => {
      cb(writeData)
    }));
  }
    processFile(fileName, file, (csvData) => {
          console.log(csvData)
          csv.writeToPath('./working-files/top.csv', {headers: false}, csvData).on("finish", () => {
            console.log('done')
        })

1 个答案:

答案 0 :(得分:0)

不幸的是,由于您所使用的数据集没有任何上下文,因此我只能提供太多建议。正确调试该变量所需的变量为:文件,使用的文件名以及任何“ i”。如果您可以更新此信息,那么我很乐意再看一遍。

我建议在修改变量的每个步骤之后返回并记录变量,希望这样您可以对发生的问题有更好的了解。

我知道这不是一个完整的答案,它可能会被删除,但我没有50条需要发表评论的声誉。