gpt4 book ai didi

javascript - 从 csvtojson 获取可用数组

转载 作者:行者123 更新时间:2023-11-29 23:14:06 24 4
gpt4 key购买 nike

我看过使用 csvtojson 的代码示例,但每个示例都只是使用 console.log() 输出结果。下面的代码创建了一个名为“json”的变量,但我不知道如何在创建它的函数之外使用它。如何导出变量“json”以便在创建它的函数之外使用?:

const csvFilePath='<path to csv file>'
const csv=require('csvtojson')

csv().fromFile(csvFilePath,function(err,result){

if(err){
console.log("An Error Has Occured");
console.log(err);
}

var json = result; // I want to use this var outside of this function.
console.log(json);
});

我真的希望它能像写这样的东西一样简单:

const dataArray = csv().fromFile(csvFilePath);

但是,dataArray 不包含我的数据,而是看起来是一个带有数据参数的对象。

任何线索将不胜感激!

最佳答案

问题是 fromFile 是异步的,一旦你调用了异步代码,你就生活在回调中。

该模块似乎没有提供同步替代方案。您的选择是:

  • 在回调中继续您的程序逻辑:

csv().fromFile(csvFilePath,function(err,result){

if(err){
console.log("An Error Has Occured");
console.log(err);
}

var json = result;
console.log(json);

// Continue your logic here
// .....
// .....
});
  • 使用异步/等待

您似乎使用的是旧版本的 csvtojson,因此您可能需要升级它才能使用:

(async () => {

var jsons = await csv().fromFile(csvFilePath);
console.log(jsons);

})()
.catch((err) => {
console.log(err);
});

基本上,这会将您的代码包装在 async 函数中。在其中,如果使用 await 关键字,则可以使用 fromFile 的返回值。

  • 使用支持同步加载的不同模块,甚至自己进行解析。

关于javascript - 从 csvtojson 获取可用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53243335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com