【问题标题】:How to write and read from csv or json file in meteor如何在流星中写入和读取 csv 或 json 文件
【发布时间】:2017-01-14 21:03:25
【问题描述】:

我正在使用papaParse 我想将这个包的结果保存到文件中,用户可以下载它。做这个的最好方式是什么?我也在使用这个 node.js 代码来做它

var csv = Papa.unparse(Users.find().fetch());
console.log("csv : " + JSON.stringify(csv)); // get csv format (not in file)
fs.writeFile("meteorProject/public/", csv, function(err) {
if(err) {
    return console.log(err);
}

console.log("The file was saved!");
});

但是给出这个错误

{ [错误:EISDIR:对目录的非法操作,打开'meteorProject/public/'] I20160907-13:00:26.970(4.5)?错误号:-21, I20160907-13:00:26.970(4.5)?代码:'EISDIR', I20160907-13:00:26.970(4.5)?系统调用:'打开', I20160907-13:00:26.970(4.5)?路径:'meteorProject/public/' }

怎么解决呢?? 谢谢:-)

【问题讨论】:

  • 长话短说 - 您提供了文件夹 meteorProject/public/ 而不是文件 meteorProject/public/my.csv

标签: json node.js csv meteor papaparse


【解决方案1】:

最后我使用了这个包:Meteor-Files 为了解决这个问题! 这是示例代码:

 export(){
    var csv = Papa.unparse(Users.find({},{fields:{_id:0}}).fetch());
    Exports.write(csv,{
        fileName: 'backup'+ new Date().getTime() +'.csv',
        type: 'text/csv'
    }, function (error, fileRef) {
        if (error) {
            throw error;
        } else {
            console.log(fileRef.name + ' is successfully saved to FS. _id: ' + fileRef._id);
        }
    });
},

出口就是收藏。这是帮助我的功能。

【讨论】:

    【解决方案2】:

    这是与目录有关的问题,请检查此处给出的目录路径。即 - “meteorProject/public/”。 因此,您需要更改的只是您正在使用的目录名称。 当我尝试使用我的目录并且它运行良好时。 或者我建议您在保存文件时也尝试使用 fileName.csv 比如:-meteorProject/public/test.csv

    或者只是完全改变目录的路径,就像我在我的 ubuntu 机器上尝试的那样,它运行良好。

    var userArray = Users.find().fetch();
    var data = Papa.unparse(userArray);
    console.log("data is....");
    console.log(data);
    fs.writeFile('/home/parveen/test/test.csv',data,function(err,res){
        if(err){
            console.log("err while saving");
            console.log(err)
        }
        else{
            console.log("File saved");
            console.log(res);
        }
    });
    

    以上代码通过 test.csv 名称将文件保存在 test 文件夹中。

    如果您再次遇到任何问题,请检查并告诉我。 如果您想深入了解您的错误,请查看链接:-

    https://github.com/bekk/grunt-retire/issues/2

    希望这会有所帮助!

    谢谢

    【讨论】:

      猜你喜欢
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-15
      • 2022-01-23
      • 1970-01-01
      相关资源
      最近更新 更多