我有一些来自csv文件的数据,并且原始数据有一些特殊字符,因此当我加载数据并执行console.log()时,数据中会出现类似nari�o
这样的内容>
这是我从csv加载数据时的样子
{group: "nari�o", Moderada: 4, Baja: 11, Alta: 2}
{group: "choc�", Moderada: 6, Alta: 19, Baja: 1}
理想是这样
{group: "nariño", Moderada: 4, Baja: 11, Alta: 2}
{group: "chocó", Moderada: 6, Alta: 19, Baja: 1}
我尝试使用this post的功能,但是没有用,我认为可能是因为数据已经加载并且丢失了我想要保留的字符。关于如何解决这个问题的任何想法?
这是我加载数据的方式:
d3.csv("data.csv", function(data) {
console.log(data);//when I do this the data has already lost the characters like ñ or ó
//do some stuff with the data
var dpto = d3.nest()
.key(function(d) { return d.DEPTO.toLowerCase(); })
.key(function(d) { return d.TEXTO_AMENAZA; })
.rollup(function(v) { return v.length; })
.object(data);
const result = Object.entries(dpto).reduce(
(acc, [group, properties]) => [
...acc, { group, ...properties }
], []
);
})
答案 0 :(得分:0)
您应该检查您的csv文件是否为utf8格式,可以通过在任何文本编辑器中打开csv文件来进行检查,例如Windows记事本底部栏的下图
如果文件不是UTF8格式,则可以在Windows记事本中转到“文件”>“另存为”,然后在保存文件时选择utf8编码。
将文件转换为utf8后,所有特殊字符都可以正常工作。
,如果您不想转换文件,则可以使用d3.dsvFormat并传递文件正在使用的编码,以便D3知道如何获取正确编码的数据。为此,您需要参考D3 documentation