Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TypeError: parse is not a function on csv-parse

I ran into this issue after setting up a simple app using:

  • node v16.13.2
  • npm v8.1.2
  • csv-parse v5.0.4
    On
  • VSCode v1.63.2

Code is:

const parse = require('csv-parse');
const fs = require('fs');

const results = [];

fs.createReadStream('kepler_data.csv')
    .pipe(parse({
        comment: "#",
        columns: true,
    }))
    .on('data', (data) => {
        results.push(data);
    })
    .on('error', (err) => {
        console.log(err);
    })
    .on('end', () => {
        console.log(results);
        console.log('Done!');
    });

Running it resulted in:

index.js:7
    .pipe(parse({
          ^

TypeError: parse is not a function
    at Object.<anonymous> (/home/jadeye/node.js_workspace/PLANETS-PROJECT/index.js:7:11)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)

Searching SO gave similar results but no actual solution.

like image 709
Jadeye Avatar asked Feb 15 '26 16:02

Jadeye


1 Answers

Solution was simple. If parse or any other function is not recognized with node require, try getting the function itself as:

const { parse } = require('csv-parse');

Something worth noting it the color scheme that emphasizes the difference between the const parse color = white, and the usage of the function parse inside pipe = green.

errornous call

And the colors without error where const { parse } is green, matchin the const call.

enter image description here

like image 168
Jadeye Avatar answered Feb 18 '26 06:02

Jadeye



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!