Как загрузить CSV в массив с именами объектов - PullRequest
0 голосов
/ 10 февраля 2019

Я хочу иметь возможность хранить данные в моих файлах CSV, чтобы их было проще читать и передавать на веб-страницу.

Файл CSV имеет следующий формат, имя_узла1: "meat1",probename2: "meat2" .......

Если я вставляю данные в ручную, как https://www.w3schools.com/js/tryit.asp?filename=tryjs_array_object, это работает, я также попытался настроить мой массив непосредственно и использовать метод MGot90 из Чтение заголовков CSV с использованием Javascript

Но я могу назвать только 1 полное значение каждого объекта, например, settings [0], и не вызывать объект по его имени, например settings ["ProbeName1"]. Я хочуследующее должно быть в состоянии вывести meat1 со следующим в файле CSV.updatevalues.csv = probname1: "meat1", probename2: "meat2"

loadData();
function loadData() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
parseCSV(this.responseText);
}
};
xmlhttp.open("GET", "js/updatevalues.csv", true);
xmlhttp.send();
}

function parseCSV(string) {
var allTextLines = string;
var settings = [];
var settings = allTextLines.split(",");
document.getElementById("demo1").innerHTML = settings["ProbeName1"];
}`

В настоящее время я могу получить только id = demo1 для вывода ProbeName1: "meat1", используя настройки [0].Если я использую настройки ["ProbeName1"], он будет отображаться как неопределенный.

Ответы [ 2 ]

0 голосов
/ 10 февраля 2019

Эта функция преобразует ваш CSV в объект JSON:

function parseCSV(str) {
    var allTextLines = str;
    var settings = [];
    var settings = allTextLines.split(",");
    var results = {};
    var name, val, idx;
    for (var i = 0; i < settings.length; i++) {
        idx = settings[i].indexOf(':');
        name = settings[i].substring(0, idx);
        val = settings[i].substring(idx+2, settings[i].length-1);
        results[name] = val;
    }
    return results;
}

Работа в скрипте: https://jsfiddle.net/p3t7Lv28/

Этот код удаляет кавычки из значений, используя idx + 2,длина-1

0 голосов
/ 10 февраля 2019

Зачем вам это нужно, я не знаю, но может быть, вы можете использовать SheetJS tool.Its для отображения Excel в Интернете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...