NodeJS解析CSV文件报错:ReferenceError: test1未定义
问题解决方法
错误根源
- 误用
require()加载CSV文件:require()是Node.js用来加载JS模块、JSON文件的工具,用它加载.csv时,Node会把CSV内容当成JS代码解析。你的CSV第一行test1,test1,test1,是非法JS语法,直接触发test1 is not defined错误。 - 代码语法不完整:
fs.readFile的调用末尾少了闭合括号,导致代码无法正常解析。 - 未处理Buffer数据:
fs.readFile默认返回Buffer对象,直接打印会显示二进制格式,需要转成字符串才能看到CSV文本内容。
修正后的代码
const fs = require("fs") // 暂时用不上readline,可注释或删除 // const readline = require("readline"); // 直接写文件路径字符串,不要用require const csvFilePath = "./input/case-study-data.csv" // 补充闭合括号,指定utf8编码直接获取字符串,增加错误处理 fs.readFile(csvFilePath, "utf8", function(err, data) { if (err) { console.error("读取文件失败:", err) return } console.log(data) })
预期输出
运行后控制台会直接打印你的CSV内容:
test1,test1,test1, 1,test,2, rest,rest,test
内容的提问来源于stack exchange,提问作者mrbob
相关产品推荐
相关产品推荐

