如何在Node.js环境中将纯文本机器学习数据集转换为JSON格式并保存
Node.js 实现CSV数据集转指定结构JSON方案
实现逻辑
- 预先定义与CSV列顺序一一对应的字段名数组:
['buying', 'maint', 'doors', 'persons', 'lug_boot', 'safety', 'evaluation'] - 读取原始纯文本数据集,按换行符拆分得到所有行,过滤掉空行避免报错
- 逐行将内容按逗号拆分,和字段名一一映射组装为对象
- 将所有对象组成的数组格式化为JSON字符串,写入到
file.json文件
完整代码
// 引入Node.js内置文件操作模块,无需额外安装依赖 const fs = require('fs'); // 定义与CSV列顺序对应的字段名 const KEYS = ['buying', 'maint', 'doors', 'persons', 'lug_boot', 'safety', 'evaluation']; try { // 读取原始数据集文件,此处假设原始文件名为data.txt,可替换为你自己的文件路径 const rawContent = fs.readFileSync('./data.txt', 'utf8'); // 按换行拆分所有行,过滤空行 const rows = rawContent.split('\n').filter(row => row.trim() !== ''); // 逐行转换为指定结构的对象 const result = rows.map(row => { const values = row.split(','); return KEYS.reduce((obj, key, index) => { obj[key] = values[index].trim(); return obj; }, {}); }); // 格式化JSON并写入文件,2为缩进空格数,方便阅读 fs.writeFileSync('./file.json', JSON.stringify(result, null, 2), 'utf8'); console.log('转换完成,结果已保存为file.json'); } catch (err) { console.error('转换出错:', err.message); }
运行步骤
- 将你的原始逐行存储的数据集保存为
data.txt,和上述代码文件放在同一个文件夹 - 将上述代码保存为
convert.js - 打开终端进入对应文件夹,执行命令:
node convert.js - 执行成功后即可在同文件夹得到符合要求的
file.json文件
说明
- 1700条数据量级很小,当前同步读写的方案运行效率足够,无需使用流式处理
- 如果你的原始数据中存在包含逗号的特殊字段,需要调整拆分逻辑,当前代码适配你给出的无特殊符号的CSV格式
内容的提问来源于stack exchange,提问作者Klaudiusz Florek
相关产品推荐
相关产品推荐

