从nodejs中的CSV文件获取数据

Posted

技术标签:

【中文标题】从nodejs中的CSV文件获取数据【英文标题】:Get Data from CSV File in nodejs 【发布时间】:2014-01-02 22:47:10 【问题描述】:

我有一个包含大约 10k 条记录的 csv 文件。我需要在我的 nodejs 应用程序中一一检索它。

当用户第一次单击“X”按钮时,异步请求被发送到 nodejs 应用程序,该应用程序从 CSV 文件的第一行获取数据。当他再次点击时,它会显示第二行的数据并继续显示。

我尝试使用 fast-csv 和lazy,但它们都读取了完整的文件。他们是我可以实现的方式吗?

【问题讨论】:

有一个plugin @adeneo .. 没有任何外部插件就没有办法吗? 【参考方案1】:

Node 的核心带有一个readline 模块,允许您逐行处理可读流。

var fs = require("fs"),
    readline = require("readline");

var file = "something.csv";

var rl = readline.createInterface(
    input: fs.createReadStream(file),
    output: null,
    terminal: false
)

rl.on("line", function(line) 
    console.log("Got line: " + line);
);

rl.on("close", function() 
    console.log("All data processed.");
);

【讨论】:

rl.on("line") 逐行读取完整的文件。一旦我们收到客户端的请求,我需要读取每一行 所以你想在收到HTTP请求什么的时候逐行读取文件?我想我错过了你想说的。想用一个例子更新你的问题吗?【参考方案2】:

我认为 dominic tarr 的模块“拆分”就足够了。 它逐行分解流。 https://npmjs.org/package/split

fs.createReadStream(file)
    .pipe(split())
    .on('data', function (line) 
      //each chunk now is a seperate line!
    )

【讨论】:

以上是关于从nodejs中的CSV文件获取数据的主要内容,如果未能解决你的问题,请参考以下文章

Data Studio Community Connector - 如何从 Google Cloud Storage 中的 CSV 文件中获取数据?

如何使用 Python 获取 PickleType 数据并转换为文件夹中的 csv 文件

如何从加载在 sql/plsql 表中的 csv 文件中获取值

如何使用ruby [duplicate]从CSV文件中获取第二行

从多个 csv 文件中获取一个特定列并合并为一个

在javascript中获取上传文件的数据