简体   繁体   中英

papaparse results not saving to variable in Node.js/electron

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 .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;
  },
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM