Reactjs将本地的csv文件转换为json

IT技术 javascript reactjs
2021-05-01 04:49:13

我正在尝试将 .csv 文件转换为 Reactjs 中的 JSON 对象。为此,我将需要转换为项目结构的文件添加到名为 Data 的文件夹下。然后我找到了这个 npm 包https://www.npmjs.com/package/convert-csv-to-json并尝试了以下代码来转换文件

import { getJsonFromCsv } from "convert-csv-to-json";
...
let json = getJsonFromCsv('./Data/finaldata.csv');
for (let i = 0; i < json.length; i++) {
console.log(json[i]);
}

但是尝试这个会抛出一个

“类型错误:fs.readFileSync 不是函数”

所以我想知道我的代码是否有问题,或者有人可以建议另一种方法将 CSV 文件转换为 JSON

2个回答

@kartik 试试看

//var csv is the CSV file with headers
function csvJSON(csv){

  var lines=csv.split("\n");

  var result = [];

  var headers=lines[0].split(",");

  for(var i=1;i<lines.length;i++){

	  var obj = {};
	  var currentline=lines[i].split(",");

	  for(var j=0;j<headers.length;j++){
		  obj[headers[j]] = currentline[j];
	  }

	  result.push(obj);

  }
  
  //return result; //JavaScript object
  return JSON.stringify(result); //JSON
}

fs是 Node.js 文件系统module,不能在浏览器环境下使用。考虑使用浏览器兼容库,如PapaParse