首页 > 解决方案 > 如何使用 ejs 模板引擎在 express 应用程序中使用 csv 文件数据绘制折线图

问题描述

我是新手,我对想要实现的功能感到困惑。下面是我用于从数据库读取 csv 文件的 api(只有保存在数据库文件中的名称使用 multer 保存在本地文件夹中)。我能够读取文件并使用console.log 打印它。但是当我尝试将文件转换为 json 时,我收到了这个错误:(节点:13004)UnhandledPromiseRejectionWarning:错误:文件不存在。检查以确保 csv 的文件路径正确。请帮我。任何提示或支持表示赞赏。提前致谢。

graphFromcsv: async (req, res, next) => {
  try{
    if(!req.body){
      throw new Error("sorry no data, error occured")
    }

   const {id, sesid} = req.body;

  const user = await models.graph.findAll({
    attributes: [
      "document"
    ],

    where:{
      id:id,
      sesid:sesid
    }
  });
  console.log(user,"csvfile of session")

 var csvdata = user
 console.log(csvdata,"csvdata");

 var fs = require("fs");
console.log("aadsad")

fs.readFile(`./public/files/${csvdata}`,'utf8', async function(err,data){
    console.log("csvdatainside",csvdata );
    
    const csv=require('csvtojson')
    const filepath = `./public/files/${csvdata}`;
    console.log(filepath,"csvfilepath")
    if(csvdata){
   const jsonarray = await csv().fromFile(filepath);

   console.log(jsonarray,"jsonarray")
   
   
    
    
    }
  });

  console.log("checked")




  

res.status(200).json({
  message: " success ",

});



  }catch (err) {
    res.status(400).json({
        message:err.toString(),
        
    });
  }
}

我正在使用带有 sequelize 的 mysql 数据库。

标签: node.jsexpressgraphejscsvtojson

解决方案


推荐阅读