簡體   English   中英

TypeError: parse is not a function on csv-parse

[英]TypeError: parse is not a function on csv-parse

在使用以下方法設置一個簡單的應用程序后,我遇到了這個問題:

  • 節點 v16.13.2
  • npm v8.1.2
  • csv 解析 v5.0.4
  • VSCode v1.63.2

代碼是:

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!');
    });

運行它導致:

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)

搜索SO給出了類似的結果,但沒有實際的解決方案。

解決方案很簡單。 如果parse或任何其他 function 無法被node require識別,請嘗試將 function 本身獲取為:

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

值得注意的是,強調const parse color = whitepipe = green中的 function parse之間的區別的配色方案。

錯誤的調用

並且 colors 沒有錯誤,其中const { parse }green ,匹配const調用。

在此處輸入圖像描述

謝謝你救了我的一天。 一件事我只想知道您使用的是哪種顏色主題,以便我可以知道您在此問題中發現的相同差異。

而不是使用

常量 { 解析 } = 要求('csv-parse');

嘗試關注

常量 { 解析 } = 要求(“csv 解析”);

通過執行 const {parse} = require("csv-parse"); 在 csv-parse 模塊中獲取解析 function

和 call.pipe(parse())

對我有用的是從“csv-parse”更改為“csv-parser”

在 package.json 中使用它

"csv-parser": "^3.0.0"

代替:

"csv-parse": "v5.0.4"
  1. 嘗試const {parse} = require('parse')而不是const parse = require('parse')
  2. 嘗試使用 csv-parse版本,而不是"csv-parse": "^3.0.0" of "csv-parse": "^5.3.0"

csv解析

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM