Как получить результаты Papa.parse в массив - PullRequest
0 голосов
/ 24 июня 2018

Предупреждение, я новичок в js, и я создал приведенный ниже код, взятый из Извлечение проанализированных данных из CSV в объекте Javascript (с использованием Papa Parse)

my target = parse a csvфайл в массив, и использовать этот массив в нескольких других операциях.Я вижу, что файл обрабатывается правильно через "console.log (" Row: ", row.data);", но я не могу понять, как получить весь массив / набор данных в отдельную переменную, а тем более вфункция "doSAtuff".

function parseData(url, callBack) {
  Papa.parse(url, {
        download: true,
        header: true,
        dynamicTyping: true,
        comments: "*=",
        step: function(row) {
            console.log("Row:", row.data);
        },
        complete: function(results) {
          callBack(results.data);
        }
    });
}

function doStuff(data) {
    //Data should be usable here, but is emtp
    console.log("doStuff - console log '" + data + "' ?");
}

parseData(inputFile, doStuff);

Я думаю Я хочу сделать что-то вроде ...

var csvArray = [];

csvArray = Papa.parse(url, {
        download: true,
        header: true,
        dynamicTyping: true,
        comments: "*
...

<some other stuff with csvArray>

но я немного обернутось на данный момент.

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

const url = "https://www.papaparse.com/resources/files/normal.csv";

let results;

const csvData = Papa.parse(url, {
      dynamicTyping: true,
      download: true,
      header: true,
      comments: "*=",
      complete: function(data) {
        results = data.data
      }
});

setTimeout(()=> {
  console.log(results[0].ISSN)
}, 1500);
<script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/4.5.0/papaparse.min.js">
</script>
0 голосов
/ 04 июля 2018

Я знаю, что если вы удалите настройку header: true, то Papa.parse вернет вам массив вместо объекта.

В качестве альтернативы вы можете просто преобразовать возвращаемый объект в массив, используя что-то вроде:

function _arrayify(obj) { return Object.keys(obj).map(function (k) { return obj[k]; }) }
...