You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用csv-parser读取csv文件时报错找不到./data.csv是什么原因?

报错原因
  • 相对路径基准不匹配:代码中写的./data.csv是相对于执行node命令的工作目录的路径,而非index.js文件所在的目录。如果执行命令的目录和index.js存放目录不一致,就会触发文件不存在的报错。
  • 文件名/后缀错误:Windows系统默认隐藏已知文件后缀时,实际文件可能是data.csv.txt而非你看到的data.csv;另外Linux、macOS等系统区分文件名大小写,如果实际文件名为Data.csv也会识别失败。
  • 文件存放位置不符:data.csv没有放在相对路径对应的目录下,比如index.js存放在src子目录中,data.csv放在项目根目录,从src目录下用./data.csv寻址就会失败。
  • 读取权限不足:Node进程没有权限读取data.csv文件或其所在的目录。
解决办法
  1. 使用绝对路径规避相对路径歧义,修改代码中inputFile的定义如下:
const fs = require('fs');
const path = require('path');
const csv = require('csv-parser');
// __dirname为当前index.js文件所在的目录,拼接后得到data.csv的绝对路径
const inputFile = path.join(__dirname, 'data.csv');
let results = []

fs.createReadStream(inputFile)
  .pipe(csv())
  .on('data', (data) => results.push(data))
  .on('end', () => {
    console.log(results);
  });
  1. 核对文件信息:关闭Windows系统的「隐藏已知文件类型的扩展名」选项,确认文件完整名称为data.csv,且拼写、大小写和代码中完全一致。
  2. 对齐文件存放位置:如果使用上述绝对路径写法,将data.csv和index.js放在同一个目录下即可。
  3. 排查权限问题:Linux、macOS系统下可执行chmod 644 data.csv为文件添加读取权限,确保运行Node命令的用户有权限访问该文件。

内容的提问来源于stack exchange,提问作者deagleshot32

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 13:06:04