gpt4 book ai didi

javascript - D3 : ignore certain row in . 格式文件

转载 作者:行者123 更新时间:2023-11-30 07:16:06 26 4
gpt4 key购买 nike

我有一个 .csv 文件,如下所示:

The Start Date, The User Id, The User Name,
date, id, name,
12-12-12, 12345, John Doe
01-02-13, 67891, Jane Doe

第一行是对第二行按键的描述。我正在按如下方式加载 .csv 文件:

d3.csv("data.csv", function(error, data) {
data.forEach(function(d) {
d.date = parseDate(d.date);
d.id = formateID(d.id);
d.name = formatename(d.name);
d.close = +d.close;
});

我想将第一行(描述)与我的数据模型分开,因为我仍然计划在以后使用它,但是我不允许修改 .csv 文件的格式。有没有办法我只能捕获这些信息:

date, id, name,
12-12-12, 12345, John Doe
01-02-13, 67891, Jane Doe

来自 csv?

最佳答案

d3.csv() 函数同时执行加载解析,您没有机会进行干预。由于您需要干预,因此您需要将 csv 作为纯文本加载 – – 不对其进行解析 – – 然后删除第一行,然后将其作为字符串传递到 csv 模块中进行解析。

要加载,请使用 d3.xhr()对于解析,使用 d3.csv.parse() .

你应该得到这样的结果:

d3.xhr('data.csv').get(function (err, response) {
var dirtyCSV = response.responseText;
var cleanCSV = dirtyCSV.split('\n').slice(1).join('\n');
var parsedCSV = d3.csv.parse(cleanCSV);
})

编辑

这是一个比上面的转换成本更低的转换(尚未测试/调试):

d3.xhr('data.csv').get(function (err, response) {
var dirtyCSV = response.responseText;
var firstEOL = dirtyCSV.indexOf('\n');
var parsedCSV = d3.csv.parse(cleanCSV.substring(firstEOL+1));
})

关于javascript - D3 : ignore certain row in . 格式文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17090642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com