csv-parser 无法读取或打开此类 .csv 文件
csv-parser cannot read or open such .csv file
csv 文件是
在我的 index.js
这是我的代码:
const fs = require('fs');
const csv = require('csv-parser');
const inputFile = "./data.csv"
let results = []
fs.createReadStream(inputFile)
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
});
为什么我收到错误消息:没有这样的文件或目录'./data.csv'?
在节点中指定文件路径时,通常相对路径是从执行节点本身的工作目录派生的。这意味着如果你执行
node ./backEnd/index.js
实际工作目录是 backEnd
以上的目录。你可以通过 console.log(process.cwd())
.
看到这个
如果你想读取相对于当前正在执行的文件的文件,你可以这样做:
const fs = require('fs');
const path = require('path');
const csv = require('csv-parser');
const inputFile = path.resolve(__dirname, "./data.csv");
let results = []
fs.createReadStream(inputFile)
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
});
特别是 __dirname
将始终解析为正在执行的 javascript 文件的目录。在这里使用 path.resolve
在技术上是可选的,您可以手动将路径放在一起,但是使用 resolve 是更好的做法。
csv 文件是
在我的 index.js 这是我的代码:
const fs = require('fs');
const csv = require('csv-parser');
const inputFile = "./data.csv"
let results = []
fs.createReadStream(inputFile)
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
});
为什么我收到错误消息:没有这样的文件或目录'./data.csv'?
在节点中指定文件路径时,通常相对路径是从执行节点本身的工作目录派生的。这意味着如果你执行
node ./backEnd/index.js
实际工作目录是 backEnd
以上的目录。你可以通过 console.log(process.cwd())
.
如果你想读取相对于当前正在执行的文件的文件,你可以这样做:
const fs = require('fs');
const path = require('path');
const csv = require('csv-parser');
const inputFile = path.resolve(__dirname, "./data.csv");
let results = []
fs.createReadStream(inputFile)
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
});
特别是 __dirname
将始终解析为正在执行的 javascript 文件的目录。在这里使用 path.resolve
在技术上是可选的,您可以手动将路径放在一起,但是使用 resolve 是更好的做法。