尝试导入带有哈希符号的CSV时出现语法错误

0s0u357o  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(92)

我试图导入一个.csv文件,但由于它使用哈希符号而出现错误。这是我的代码:

const fs = require("fs");
const { parse } = require("csv-parse");
const filePath = require("./configs/note_freq_440_432.csv");

fs.createReadStream(filePath, { encoding: "utf8" })
  .pipe(parse({ delimiter: ",", from_line: 2 }))
  .on("data", (row) => {
    console.log(row);
  })
  .on("end", function () {
    console.log("finished");
  })
  .on("error", function (error) {
    console.log(error.message);
  });

字符串
我收到这个错误:

22,A#,0,29.1353,28.61
    ^

SyntaxError: Invalid or unexpected token


由于.csv文件中的这一行:

22,A#,0,29.1353,28.61


我尝试了fs.createReadStreamoptions对象的各种不同配置,但没有成功。如何成功解析这个带有'#'字符的.csv文件?

zxlwwiss

zxlwwiss1#

你不应该使用require csv const filePath = require("./configs/note_freq_440_432.csv");,require通常用于导入Js或JSON文件。当你尝试导入CSV文件时,Node.js会尝试将其解析为JS。
因此,像这样更新代码:

const fs = require('fs');
const csvParse = require('csv-parse');
const path = require('path');

const filePath = path.join(__dirname, './432.csv'); // file path

fs.createReadStream(filePath, { encoding: 'utf8' })
.pipe(csvParse.parse({ delimiter: ',', from_line: 2 }))
.on('data', (row) => {
  console.log(row);
})
.on('end', function () {
  console.log('Finished');
})
.on('error', function (error) {
  console.log('Error:', error.message);
});

字符串

相关问题