【问题标题】:from csv to json, unknown symbols nodejs从 csv 到 json,未知符号 nodejs
【发布时间】:2018-08-12 02:29:37
【问题描述】:

我真的不知道该怎么办。请帮助解决这个问题。我有一个 CSV 文件,我将它传输到一个数组中:

import csvToJson from 'convert-csv-to-json';
import fs from 'fs';

const URL_01 = `${__dirname}/URL/price.csv`;

//Unnecessary code removed for clarity...

app.get('/all', (req, res) => {
    let json = csvToJson.getJsonFromCsv(URL_01);
    res.send(json);
});

我得到了这个:

如何在 UTF-8 中获取正确的数据??

【问题讨论】:

  • 尝试编辑this 行并提供'utf-8' 作为编码选项:return fs.readFileSync(fileInputName, 'UTF-8').toString();

标签: javascript json node.js csv


【解决方案1】:

策略应该是:

var iconv = require('iconv-lite');
var csv = require('csv');

var converterStream = iconv.decodeStream('win1251');

fs.createReadStream('file-in-win1251.txt')
  .pipe(iconv.decodeStream('win1251'))
  .pipe(csv.parse())
  .pipe(csv.stringify())
  .pipe(process.stdout);

【讨论】:

    【解决方案2】:

    尝试将 csvToJson 的输出包装在 JSON.parse(JSON.stringify());

    app.get('/all', (req, res) => {
         let json = csvToJson.getJsonFromCsv(URL_01);
         res.send(JSON.parse(JSON.stringify(json)));
    });
    

    JSON.Stringify() 可能会解析导致错误的数据。但当然,您需要使用JSON.parse() 将其从字符串转换回 JSON。虽然,不知道问题人物很难说。

    【讨论】:

    • 问题字符是完整的语言(字母)。
    【解决方案3】:

    尝试使用 csvtojson 库而不是 convert-csv-to-json。

    您将在此处看到示例: https://www.npmjs.com/package/csvtojson

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      • 2020-09-04
      相关资源
      最近更新 更多