0

I want to work with the data from a csv file and I have used csv-parser to do that.

const csv = require('csv-parser')
const fs = require('fs')
const results: any[] = [];

var value = fs.createReadStream('file.csv')
  .pipe(csv())
  .on('data', (data: any) => results.push(data))
  .on('end', () => {
    console.log(results);
    return results;

  });

The parser works well and I get the csv printed, but I want to return the data in the value variable.

What should I do?

  • Does this answer your question? [How to return the response from an asynchronous call?](https://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call) – Evert Jun 11 '21 at 19:11

1 Answers1

2

In your snippet the CSV file read in is pushed to the array results already. So you can use that, or if you really prefer to use an array entitled value, see the snippet below.

const csv = require('csv-parser')
const fs = require('fs')
const value = [];

fs.createReadStream('data.csv')
  .pipe(csv())
  .on('data', (data) => value.push(data))
  .on('end', () => {
    console.log(value);
});
drrkmcfrrk
  • 328
  • 1
  • 13