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)
Whelp... RTFM.
Papa Parse can also parse in a node streaming style which makes
.pipeavailable. Simply pipe the Readable Stream to the stream returned fromPapa.parse(Papa.NODE_STREAM_INPUT, options). ThePapa.LocalChunkSize,Papa.RemoteChunkSize,download,withCredentials,worker,step, andcompleteconfig 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;
},
});