Как использовать локальный файл с PapaParse при использовании Promises - PullRequest
1 голос
/ 28 июня 2019

Я пытаюсь проанализировать локальный файл с помощью PapaParse, но консоль возвращает неопределенное значение. Также, если я закомментирую download:true, консоль вернет пустой массив. Что-то не так с тем, как я передаю локальный файл в качестве аргумента, потому что в асинхронном коде Papa.parse('./Clean.csv',{}) работает

const parseData = (content) => {
        let data;
        return new Promise((resolve) => {
            Papa.parse(content, {
                header: true,
                download: true,
                delimiter: ',',
                dynamicTyping: true,
                complete: (results) => {
                    data = results.data;
                }
            });
            resolve(data);
        });
    };

    parseData('./Clean.csv')
        .then(results => console.log(results));

1 Ответ

0 голосов
/ 28 июня 2019

Вы можете передать поток файлов в Papa Parse, это хорошо работает для кода на стороне сервера:

const Papa = require('papaparse');
const fs = require('fs');

const parseData = (content) => {
    const fileStream = fs.createReadStream(content);
    return new Promise((resolve) => {
        Papa.parse(fileStream, {
            header: true,
            delimiter: ',',
            dynamicTyping: true,
            complete: (results) => {
                resolve(results);
            }
        });
    });
};

parseData('./Clean.csv')
    .then(results => console.log(results));
...