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

TensorFlow.js加载本地CSV报路径无效ENOENT错误该如何解决?

报错原因
  • tf.data.csv()的file://协议在Node.js环境下不支持直接使用./开头的相对路径,相对路径解析基准不是当前JS文件所在目录,而是Node进程启动的工作目录,极易出现路径匹配错误
  • 路径字符串格式不符合tfjs-node的文件读取规则,触发文件不存在的ENOENT报错
解决方法

方案1(最稳妥,推荐):使用Node内置path模块拼接绝对路径

修改代码如下,通过__dirname(当前JS文件所在目录的绝对路径)拼接目标CSV文件的路径,完全规避相对路径的匹配问题:

const tf = require('@tensorflow/tfjs')
require('@tensorflow/tfjs-node')
// 引入Node.js内置path模块
const path = require('path')

async function test_function() {
    // 拼接得到CSV文件的绝对路径
    const csvAbsolutePath = `file://${path.resolve(__dirname, './datasets/kc_house_data.csv')}`
    const house_sales_dataset = tf.data.csv(csvAbsolutePath);
    const sample = house_sales_dataset.take(10);
    try {
        const dataArray = await sample.toArray();
        console.log('读取成功,样本数据:', dataArray)
    } catch(err) {
        console.log(err)
    }
}

test_function();

方案2(仅适用于固定从项目根目录启动的场景)

如果你每次都是直接在tensorflow-practice根目录下执行node app.js启动项目,可以直接简化路径写法,去掉路径里的./:

const house_sales_dataset = tf.data.csv('file://datasets/kc_house_data.csv');
可选排查项

如果修改路径后仍报错,可以检查以下内容:

  • 确认datasets文件夹下的kc_house_data.csv文件名拼写完全正确,没有大小写、多余后缀的问题(比如Windows系统隐藏后缀的情况下出现kc_house_data.csv.txt的错误命名)
  • 执行npm i @tensorflow/tfjs-node重新安装依赖,排除依赖安装异常导致的路径报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:36:04