为什么我一直得到SyntaxError:意外的数字



我正在尝试使用csvtojson获取一个csv文件并将其转换为json。我一直遇到语法错误,请帮助

const csvfilepath = require("../csvfiles/usethis.csv");
const csv         = require('csvtojson');
router.post('/upload', (req,res) => {
csv()
.fromFile(csvfilepath)
.then((jsonObj)=>{
console.log(jsonObj)
})
})

我的usethis.csv看起来像这个

Date,Time,CoreUsage ,TotalCPU ,MemoryClock
13.10.2021,53:54.4,13.6,13.6,1796.6
13.10.2021,53:56.5,12.7,12.7,1796.6
13.10.2021,53:58.5,21.3,21.3,1796.6
13.10.2021,54:00.5,11.2,11.2,1796.6
13.10.2021,54:02.6,5.5,5.5,1796.6
13.10.2021,54:04.6,13.1,13.1,1796.6
13.10.2021,54:06.7,14.6,14.6,1796.6
13.10.2021,54:08.7,16.9,16.9,1796.6

这是我一直在获取的错误

13.10.2021,53:54.4,13.6,13.6,1796.6
^^^^^
Syntax Error: Unexpected number
at wrapSafe (internal/modules/cjs/loader.js:915:16)
at Module._compile (internal/modules/cjs/loader.js:963:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module. Require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/mnt/c/users/blake/desktop/Fullmern/routes/benchmark.js:12:21)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module. Load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module. Require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/mnt/c/users/blake/desktop/Fullmern/server.js:19:15)
at Module._compile (internal/modules/cjs/loader.js:999:30)
[nodemon] app crashed - waiting for file changes before starting...

谢谢

尝试在每个值上使用双引号

Date,Time,CoreUsage,TotalCPU,MemoryClock
"13.10.2021","53:54.4","13.6","13.6","1796.6"
"13.10.2021","53:56.5","12.7","12.7","1796.6"

尝试替换

Date,Time,CoreUsage ,TotalCPU ,MemoryClock

带有

Date,Time,CoreUsage,TotalCPU,MemoryClock  //remove extra space

您不能像在这里尝试的那样require()一个.CSV文件:

const csvfilepath = require("../csvfiles/usethis.csv");

需要知道如何做两件事:

  1. 加载并运行一个Javascript文件
  2. 读取并解析.JSON文件(如果有,则仅当该文件具有.json文件扩展名时(

因此,require()试图将CSV解析为Javascript,并立即遇到Javascript语法错误,因为.CSV格式的数据不是有效的Javascript(这并不奇怪(。

如果要将.CSV文件读取到内存中,请使用fs.readFileSync()fs.promises.readFile()(取决于需要同步操作还是异步操作(。

如果要读取和解析.CSV文件,请使用NPM上的众多模块之一来读取/解析CSV文件。

最新更新