csv 文本字符串 转 JSON对象数组

文章展示了两种将CSV数据转换为JSON格式的方法:一是使用自定义函数parseCSV,它遍历CSV数据并构建对象数组;二是利用d3.js库的d3.csvParse功能,同样将CSV解析成对象数组。这两种方法都用于处理和结构化表格数据。
摘要由CSDN通过智能技术生成



function parseCSV(csvData) {
  const rows = csvData.split('\n');
  const headers = rows[0].split(',');
 
  const data = [];
  for (let i = 1; i < rows.length; i++) {
    const values = rows[i].split(',');
    const obj = {};
    for (let j = 0; j < headers.length; j++) {
      obj[headers[j]] = values[j];
    }
    data.push(obj);
  }
 
  return data;
}
 
const csvData = "name,age,gender\nJohn,25,Male\nJane,30,Female\n";
const jsonData = parseCSV(csvData);
console.log(jsonData);

2 d3.csvParse(resp.data)

//安装
npm install d3

// 导入
const d3 = require('d3-dsv') 

// 导入全部 import * as d3 from 'd3'

const newData = d3.csvParse(resp.data);

d3.csvParse()方法将CSV文本字符串解析为对象数组形式,其中每个对象表示一行数据,
对象的属性名为CSV文件中的列标题,属性值为对应的数据。

所以,当你使用d3.csvParse(resp.data)解析CSV文本字符串时,
你会得到一个包含CSV数据的对象数组,每个对象代表一行数据

抱歉,我之前的回答有误。`readCSVFile`函数读取的CSV数据是一个文本字符串,而不是JSON字符串CSV是一种纯文本格式,它使用逗号(或其他分隔符)来分隔不同的字段。 CSV数据通常以纯文本形式存储,没有内置的数据类型。因此,在读取CSV数据后,你需要自行解析字符串并将其换为JSON对象。 要将CSV数据解析为JSON对象,可以使用JavaScript中的现有库或编写自定义的解析器。以下是一个基本示例,演示如何手动解析CSV字符串并将其换为JSON数组: ```javascript function parseCSV(csvData) { const rows = csvData.split('\n'); const headers = rows[0].split(','); const data = []; for (let i = 1; i < rows.length; i++) { const values = rows[i].split(','); const obj = {}; for (let j = 0; j < headers.length; j++) { obj[headers[j]] = values[j]; } data.push(obj); } return data; } const csvData = "name,age,gender\nJohn,25,Male\nJane,30,Female\n"; const jsonData = parseCSV(csvData); console.log(jsonData); ``` 在上述代码中,`parseCSV`函数将CSV数据作为参数,并按照之前提到的步骤将其解析为JSON对象数组。你可以使用这个函数将`readCSVFile`函数返回的CSV字符串换为JSON对象数组。 请注意,这只是一个基本示例,适用于简单的CSV数据。对于复杂的CSV数据,可能需要更复杂的解析逻辑。在实际开发中,你可能会考虑使用现有的CSV解析库来处理更复杂的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值