我正在编写一个脚本,该脚本的核心是解析.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')
})
答案 0 :(得分:0)
不幸的是,由于您所使用的数据集没有任何上下文,因此我只能提供太多建议。正确调试该变量所需的变量为:文件,使用的文件名以及任何“ i”。如果您可以更新此信息,那么我很乐意再看一遍。
我建议在修改变量的每个步骤之后返回并记录变量,希望这样您可以对发生的问题有更好的了解。
我知道这不是一个完整的答案,它可能会被删除,但我没有50条需要发表评论的声誉。