Как я могу использовать полученные массивы Papa Parse? - PullRequest
0 голосов
/ 30 ноября 2018

Я неохотно использовал Papa Parse , но теперь я понимаю, насколько он мощный.Я использую Papa Parse для локального файла, но я не знаю, как использовать результаты.Я хочу иметь возможность использовать результаты, чтобы я мог объединить массив с другим, а затем отсортировать от высшего к низшему на основе определенного элемента.Console.log не работает.Из того, что я исследовал, это может быть как-то связано с функцией обратного вызова.Я застрял на том, как сделать функцию обратного вызова с Papa Parse.Спасибо за любой совет.

Это мой вывод

Finished input (async).
Time: 43.90000000000873 
Arguments(3)
0: 
  data: 
    Array(1136) [0 … 99] 
      0: (9) [
        "CONTENT TYPE", "TITLE", "ABBR", "ISSN",
        "e-ISSN", "PUBLICATION RANGE: START",
        "PUBLICATION RANGE: LATEST PUBLISHED",
        "SHORTCUT URL", "ARCHIVE URL"
      ]
      1: (9) [
        "Journals", "ACM Computing Surveys ",
        "ACM Comput. Surv.", "0360-0300", "1557-7341",
        "Volume 1 Issue 1 (March 1969)",
        "Volume 46 Issue 1 (October 2013)", 
        "http://dl.acm.org/citation.cfm?id=J204", 
        "http://dl.acm.org/citation.cfm?id=J204&picked=prox"
      ]

1 Ответ

0 голосов
/ 30 ноября 2018

Судя по разговору с вами, вы пытаетесь дооснастить демо Papa Parse для своих нужд.Ниже приведен фрагмент кода, который должен быть готов для вашего проекта и поможет вам начать работу.

document.addEventListener('DOMContentLoaded', () => {
    const file = document.getElementById('file');
    
    file.addEventListener('change', () => {
        Papa.parse(file.files[0], {
            complete: function(results) {

                // Here you can do something with results.data
                console.log("Finished:", results.data);

            }
        });
    })
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/4.6.2/papaparse.js"></script>
<input type="file" id="file" />

Оригинальный ответ

Поскольку я подозреваю, что вы загружаете локальный файл csv из файловой системы, а не форму загрузки,вам нужно использовать download: true, чтобы заставить его работать.

Papa.parse('data.csv', {
  download: true,
  complete: function(results) {
    console.log("Finished:", results.data);
  }
});

Технически, при загрузке локальных файлов, вы должны предоставить Papa.parse объект File Object .Это фрагмент из документации MDN File API

Файловые объекты обычно извлекаются из объекта FileList, возвращаемого в результате выбора пользователем файлов с использованием элемента ввода

Есликонечно, вы запускаете это в NodeJS , тогда вы просто сделаете следующее:

const fs = require('fs');
const Papa = require('papaparse');
const csv = fs.createReadStream('data.csv');

Papa.parse(csv, {
    complete: function(results) {
        console.log("Finished:", results);
    }
});

Документация

https://www.papaparse.com/docs#local-files

https://developer.mozilla.org/en-US/docs/Web/API/File

...