gpt4 book ai didi

javascript - csvtojson 转换器忽略我的文件名,只是将 undefined

转载 作者:行者123 更新时间:2023-12-03 03:55:36 24 4
gpt4 key购买 nike

基本上,当我在没有任何代码的情况下在 node.js 上运行 csvtojson 模块时,它工作得很好。但是一旦我将它放入函数中,即使我的文件路径仍然存在,它也会出现未定义的情况。

JS代码:

var Converter = require("csvtojson").Converter;
// create a new converter object
var converter = new Converter({});
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/myproject';

// call the fromFile function which takes in the path to your
// csv file as well as a callback function

var woops;

var createNewEntries = function(db, woops, callback) {

converter.fromFile("./NTA-SAM-Inventory-List-Security-Management-
New_2017.csv",function(err, result){
// if an error has occured then handle it
if(err){
console.log("An Error Has Occured");
console.log(err);
}
// the result of the conversion
console.log(result);
console.log('ohhhhh');
woops=result;
});
console.log(woops);
};
MongoClient.connect(url, function(err, db) {
if(err) {
console.log(err);
}
setTimeout(function(){
createNewEntries(db, woops, function(){
if(err)
throw err;
else{
console.log(woops);
}
db.close();
});
},2000);

});

这只是测试它是否在函数内转换,它只是显示

未定义
[]
哦哦哦
在函数中时根本不进行转换。那么我究竟做错了什么。按照权利,它应该在调用该函数后进行转换。这与我在函数之前执行的代码有关吗?我已经设置了一个 setTimeout 只是为了给它一些时间,所以我认为它不应该与我的代码顺序有关。提前致谢!

最佳答案

您应该尝试使用以下代码作为您的文件名:

__dirname + "/NTA-SAM-Inventory-List-Security-Management-
New_2017.csv"

将您的代码替换为 converter.fromFile() ,现在您的代码将如下所示:

    converter.fromFile(__dirname + "/NTA-SAM-Inventory-List-Security-Management-
New_2017.csv" ,function(err, result){
// if an error has occured then handle it
if(err){
console.log("An Error Has Occured");
console.log(err);
}
// the result of the conversion
console.log(result);
console.log('ohhhhh');
woops=result;
MongoClient.connect(url, function(err, db) {
if(err) {
console.log(err);
}
setTimeout(function(){
createNewEntries(db, woops, function(){
if(err)
throw err;
else{
console.log(woops);
}
db.close();
});
},2000);

});

});

希望它对您有用。

如果上述代码不起作用,请尝试使用 fast-csv 模块使用以下代码:

var fcsv = require('fast-csv');
var fs = require('fs');

/**
* Get the records from csv
*/

var writeZipCodes = function () {
var stream = fs.createReadStream(__dirname + "/NTA-SAM-Inventory-List-Security-Management-New_2017.csv");

fcsv
.fromStream(stream, { headers: true }) // headers for columns
.on("data", function (data) {
console.log(data);
var woops=data;
MongoClient.connect(url, function(err, db) {
if(err) {
console.log(err);
}
setTimeout(function(){
createNewEntries(db, woops, function(){
if(err)
throw err;
else{
console.log(woops);
}
db.close();
});
},2000);

});
})
.on("end", function () {
console.log("done");
});
}

writeZipCodes();

关于javascript - csvtojson 转换器忽略我的文件名,只是将 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44966843/

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