gpt4 book ai didi

javascript - 导入 CSV 后如何修改列标题?

转载 作者:行者123 更新时间:2023-11-29 23:05:55 25 4
gpt4 key购买 nike

我正在尝试使用 d3.csv() 导入一个 csv 文件,如下所示:

d3.csv("mydata.csv", function(d) { 
console.log(d.columns);
}

这会输出“时间”、“速率”、“id”。在将此数据加入 topojson 文件之前,我想更改程序中的第一个和最后一个列标题名称。有什么办法可以做到这一点?

最佳答案

columns 属性只是 d3.csv 在数据数组中创建的属性:

const csv = `foo,bar,baz
12,14,13
2,16,4
17,42,10`;

const data = d3.csvParse(csv);

console.log(data.columns);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>

你可以用它做任何你想做的事情:

const csv = `foo,bar,baz
12,14,13
2,16,4
17,42,10`;

const data = d3.csvParse(csv);

data.columns[0] = "I'm a new value!";

console.log(data.columns);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>

你甚至可以完全摆脱它:

const csv = `foo,bar,baz
12,14,13
2,16,4
17,42,10`;

const data = d3.csvParse(csv);

data.columns.length = 0;

console.log(data.columns);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>

这里真正的问题是:为什么要修改它?该属性包含 CSV 文件中的所有 header ,如 API 所解释的那样:

The returned array also exposes a columns property containing the column names in input order.

因此,columns 属性对于按原样访问数据数组非常有用。话虽如此,更改该属性意义不大,因为您不再拥有 header 名称,并且代码中的内容可能会进一步中断。因此,如果您想更改 header 名称,我认为更改 CSV 文件本身是更好的选择。

关于javascript - 导入 CSV 后如何修改列标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54796397/

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