我正在编写一个脚本,它的核心是解析.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')
})发布于 2019-04-24 03:46:58
不幸的是,如果没有您正在使用的数据集的任何上下文,我只能提出这么多建议。正确调试它所需的变量是:文件、使用的文件名以及任何'i‘。如果你能更新这个,我很乐意再看一看。
我建议在修改变量的每个步骤之后返回并记录这些变量,希望这样您就能更好地了解哪里出了问题。
我知道这不是一个完整的答案,它可能会被删除,但我没有50个所需的声誉来发表评论。
https://stackoverflow.com/questions/55817943
复制相似问题