【问题标题】:Cannot find module 'fs' - while using csvtojson package找不到模块 'fs' - 使用 csvtojson 包时
【发布时间】:2021-03-29 02:56:04
【问题描述】:

我在使用 csvtojson 包时遇到问题。我正在尝试将 CSV 转换为 json。我正在使用https://www.npmjs.com/package/csvtojson 包,我也尝试了https://www.npmjs.com/package/convert-csv-to-json 这个包我得到**找不到模块'fs'**这个错误。

import csv from 'csvtojson';
  csv()
    .fromFile(csvFilePath)
    .then((jsonObj) => {
        console.log(jsonObj);
    })

“反应”:“^16.13.0”, "csvtojson": "^2.0.10", "webpack": "^4.46.0", "webpack-cli": "^3.3.12"

【问题讨论】:

标签: reactjs webpack


【解决方案1】:

csvtojson 模块是一个综合的nodejs csv 解析器来转换csv 到 json 或列数组。

您不能在前端使用所有 nodejs 库。

您可以解析行,但要注意验证和特殊字符。

const rowSeparator = "\n";
const columnSeparator = ",";
function csvJSON(csv){
  let lines=csv.split(rowSeparator);
  let result = [];
  var headers=lines[0].split(columnSeparator);
  lines.splice(0, 1);
  for(let line of lines){
      let columns = line.split(columnSeparator);
      let row = {};    
      for(let header of headers){
          row[header] = columns[headers.indexOf(header)];
      }
      result.push(row);

  }
  return JSON.stringify(result);
}

例子:

csvJSON("aa,bb\n1,2\n2,5")
"[{"aa":"1","bb":"2"},{"aa":"2","bb":"5"}]"

【讨论】:

  • 我该如何解决这个问题?
  • 似乎是“文件检索”部分出现问题,而不是“CSV 解析”部分。如果是这样,那么我认为这个答案没有帮助。不过,就这个答案而言,他们应该使用经过验证的预打包功能。例如,在撰写本文时,此答案不考虑引用或转义的逗号。
猜你喜欢
  • 2017-04-15
  • 2018-07-10
  • 1970-01-01
  • 2017-01-08
  • 2023-01-28
  • 2017-02-12
  • 2017-09-06
相关资源
最近更新 更多