Импорт CSV без заголовков в D3 - данные с числами и строками
Я работаю над визуализацией, где мне нужно импортировать некоторые данные CSV. Допустим, файл CSV выглядит примерно так:
1,4,abc
2,7,def
3,5,ghi
...
Файл csv не имеет заголовка, поэтому при поиске у меня есть код, который выглядит следующим образом:
d3.text("data.csv", function(text) {
input = d3.csv.parseRows(text).map(function(row) {
return row.map(function(value) {
return +value;
});
});
// do stuff here
});
Это прекрасно работает для данных, которые содержат только цифры, но мои данные имеют как числа, так и строки. Как я могу изменить этот код так, чтобы только определенные столбцы данных, которые я выбрал, превратились в числа?
1 ответ
Решение
Вы можете использовать индекс элемента в map
Функция, чтобы увидеть, должно ли оно быть преобразовано в число:
input = d3.csv.parseRows(text).map(function(row) {
return row.map(function(value, index) {
if(index == 2) {
return value;
} else {
return +value;
}
});
});
Это будет работать только для вашего конкретного случая, хотя.