0

I'm trying to work with the output of a papaparse CSV read using the following:

const file = fs.createReadStream('./data.csv');
let out;
Papa.parse(file, {
  header: true,
  dynamicTyping: true,
  complete: (results) => {
    console.log(results);
    out = results.data;
  },
});

The console.log correctly log the results, but out remains undefined... I feel like I'm doing it very similar to this answer... any help much appreciated

Note: although this seems very similar to this question, I actually do need to persist the data into global state (not going to go into detail here)

joshp
  • 706
  • 5
  • 22

1 Answers1

0

Whelp... RTFM.

Papa Parse can also parse in a node streaming style which makes .pipe available. Simply pipe the Readable Stream to the stream returned from Papa.parse(Papa.NODE_STREAM_INPUT, options). The Papa.LocalChunkSize, Papa.RemoteChunkSize , download, withCredentials, worker, step, and complete config options are unavailable.

strange that the console log still runs... Anyway workaround solution:

const csvString = fs.readFileSync('./data.csv').toString();
let out;
Papa.parse(csvString, {
  header: true,
  dynamicTyping: true,
  complete: (results) => {
    console.log(results);
    out = results.data;
  },
});
joshp
  • 706
  • 5
  • 22