【问题标题】:How to stream a large CSV file on server-side using PapaParse without Node.js?如何在没有 Node.js 的情况下使用 PapaParse 在服务器端流式传输大型 CSV 文件?
【发布时间】:2022-10-03 10:36:26
【问题描述】:

我想在 JavaScript 中使用 Papa parse 分块读取一个大型的本地 CSV 文件,以便在读取文件时应用程序不会卡住。 “本地”是指该文件位于服务器端,可供 javascript 访问(它不是来自用户的计算机)。应用程序没有使用 Node.js。

Papa 解析文档建议这可以通过将 stepchunk(两者都不是)传递给 parse 函数以及文件对象来完成:

Papa.parse(file, 
        {worker: true,
         chunk: function(rows) { ... },
         complete: ...))

但是它并没有说明file 应该是什么。这里的其他答案 (How can I read a local file with Papa Parse?) 说它应该是一个可流式传输的文件对象,但所有答案都依赖于 node.js 中的require(\'fs\'),这个应用程序不使用它。

有没有办法使用 Papaparse 以可以在浏览器中运行的方式读取本地(服务器端)文件,没有需要node.js?

我试过的方法是这样的:

$.get(\"./file.csv\", function(contents) { 
   // pass contents of file to Papa.parse
   Papa.parse(contents,  {chunk: ...});
});

但是,由于 csv 文件的内容作为字符串传递给 Papa.parse,因此浏览器在运行时确实会变得缓慢且无响应,这可能是因为将字符串加载到内存中很慢。我怎样才能使它真正从文件对象流式传输?谢谢。

    标签: javascript browser streaming papaparse


    【解决方案1】:

    我遇到了完全相同的问题,但不知道如何解决。我试过download: true$.get(),需要很长时间才能加载。

    【讨论】:

      猜你喜欢
      • 2012-08-23
      • 2017-11-24
      • 2011-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 2021-09-13
      相关资源
      最近更新 更多