首页 > 解决方案 > 如何在 Node JS 上使用 papaparse?

问题描述

很长一段时间以来,我一直试图继续papaparse跑步,但一直失败。nodejs我想尝试加载我的本地 CSV 然后给这个papaparse?怎么做?我的代码不起作用。

import papa from "papaparse";
import fs from "fs";

export const convertCSV = async (res: Response) => {
  const file = await fs.createReadStream("../files/test.csv");
  papa.parse(file, {
    header: true,
    complete: function (results, file) {
      console.log("Complete", results.data.length, "records.");
    },
  });
};

results.data.length总是0

我的 CSV 文件位于 files 文件夹中,该文件夹位于 src 文件夹中:

src/files/test.csv

标签: javascriptnode.jstypescriptcsvpapaparse

解决方案


Papaparse README中,它以这种方式支持 Node:

在 Node.js 环境中使用时, Papa Parse 可以解析可读流而不是文件(除了纯字符串)。在这种模式下encoding,如果指定,必须是节点支持的字符编码。、Papa.LocalChunkSizePapa.RemoteChunkSize和config 选项不可用downloadwithCredentialsworker

Papa Parse 还可以以可用的节点流样式进行解析.pipe只需将可读流通过管道传输到从 Papa.parse(Papa.NODE_STREAM_INPUT, options). 、Papa.LocalChunkSizePapa.RemoteChunkSizedownloadwithCredentials和config 选项不可用worker。要向流注册回调以处理数据,请像这样使用事件:并发出流结束的信号,请像这样使用事件:。stepcomplete'data'stream.on('data', callback)'end'stream.on('end', callback)


推荐阅读