Как передать файл локально, не используя входные данные в функцию анализа Papa - PullRequest
0 голосов
/ 02 октября 2019

У меня есть CSV-файл в том же каталоге, что и мой HTML-файл. Я хочу передать местоположение файла в функцию анализа Papa.

Я продолжаю читать онлайн, не могу назначить путь к переменной, например let a = "./discussions.csv" и передать напрямую

// trying to pass a into the file argument
Papa.parse(file, {
 complete: function(results) {
     console.log("Finished:", results.data);
 }
});

Могу ли я использовать fs (файловую систему).

Ответы [ 2 ]

0 голосов
/ 02 октября 2019

Согласно документации, переменная file должна представлять собой объект File , предназначенный для используемого браузера. Однако вы можете использовать читаемый поток, поэтому что-то вроде этого должно работать:

let fs = require('fs');
let file = fs.createReadStream('discussions.csv');

// trying to pass a into the file argument
Papa.parse(file, {
 complete: function(results) {
     console.log("Finished:", results.data);
 }
});
0 голосов
/ 02 октября 2019

Я собираюсь предположить, поскольку вы упомянули fs, что вы используете узел. И да, вы загрузите файл в память, используя fs, и оттуда вы передадите его в функцию анализа papa.

const file = fs.readFileSync(pathToFile, "utf-8"); 

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

Я использовал readfilesync в учебных целях, но, пожалуйста, замените его на асинхронную версию, как только вы это заработаете.

Дайте мне знать, если это поможет.

...