当前位置: 首页 > 知识库问答 >
问题:

使用papa parse从远程csv文件中仅获取头文件

龙佐
2023-03-14

我只需要从远程csv文件中提取头文件。

我目前的方法如下:

Papa parse有一个方法来流式传输数据,并单独查看每行,这很好,我可以使用parser.abort()终止流,以防止它在第一行之后继续,如下所示:

Papa.parse(csv_file_and_path,{header:true, worker:true, 
    download: true,
    step: function(row, parser) 
    {
        //DO MY STUFF HERE
        parser.abort();
    }
});

这很好,但因为我使用的是远程文件,它必须下载数据才能读取。即使代码在第一行被解析后将控件释放回浏览器,但在解析找到第一行并提供我所需的信息后,下载仍会持续很长时间,尤其是对于大型文件,在我得到所需信息后,下载可以持续很长时间。

有没有更有效的方法?我能阻止papa parse下载整个文件吗?

我试过使用

Papa.parse(csv_file,{header:true,
download: true,
preview:1,
complete: function(results){
    //DO MY STUFF HERE
}
});

但这也会做同样的事情,它会下载整个文件,但与第一种方法一样,在第一行被解析后,它会将控制权返还给浏览器。

共有2个答案

戚俊美
2023-03-14

您可以使用PapaParse的预览选项:

 Papa.parse(..., {
          preview: 5, ...

也读这个:https://github.com/mholt/PapaParse/issues/47

相关主题:使用文件的Javascript。Reader()逐行阅读

萧成文
2023-03-14

我提出的解决方案与我最初的问题非常相似,不同之处在于我中止、完成并清除了记忆。

使用下面的方法,只下载文件的一个块,这大大减少了大型文件的带宽开销,因为在解析第一行之后就不会继续下载了。

Papa.parse(csv_file,{header:true,
    download: true,
    step: function(results, parser) {

        //DO MY THING HERE

        parser.abort(); 
        results=null;   //Attempting to clear the results from memory
        delete results; //Attempting to clear the results from memory

    }, complete: function(results){

        results=null;   //Attempting to clear the results from memory
        delete results; //Attempting to clear the results from memory

    }
});
 类似资料:
  • 我已经考虑了很长一段时间了。我正在尝试从雅虎的股票API下载数据。当您使用 API 时,它会为您提供一个文件。我一直在看opencsv,这似乎很完美,除了我想避免下载和保存文件,如果可能的话。 根据示例,OpenCSV只能从中读取。根据Oracle关于的文档,文件需要是本地的。 是否可以使用 OpenCSV 从远程文件读取而不下载?

  • 我正在尝试使用Saxon 9将csv文件转换为xml文件。但是当我尝试检查存在并读取带有xslt函数的csv文件时,我遇到了一个问题:unparsed-text-可用(),unparsed-text() 它们可以很好地处理本地文件,但当我将远程文件作为参数传递时,unparsed-text-available()返回false。 例如,当我通过“D:\test\test.csv”时,它就工作了。当

  • 我用谷歌浏览器创建了一个“.har”文件,创建了一个加特林模拟。我改变了输入参数

  • 问题内容: 我查看了请求文档,但似乎什么也找不到。如何仅请求标题,以便评估文件大小? 问题答案: 发送HEAD请求: HEAD请求就像GET请求一样,仅下载标头。请注意,由服务器来实际满足您的HEAD请求。某些服务器只会响应GET请求,因此您必须发送GET请求并仅关闭连接,而不下载主体。其他时候,服务器永远不会指定文件的总大小。

  • 我正在使用http://csvjdbc.sourceforge.net/doc.html要将磁盘上的CSV文件(例如“myDir”中的“myFile”)视为SQL DB,我可以使用SQL语法进行查询: 这工作正常,但是当CSV文件没有头时,我遇到了麻烦。在那种情况下,第一数据线被认为是报头并且因此不像其他数据线那样被读取。 有没有办法告诉查询不要寻找标头,而将第一行视为数据输入?

  • 问题内容: 我正在寻找一种简单的方法来获取位于远程服务器上的文件。为此,我在Windows XP上创建了本地ftp服务器,现在我想为测试Applet提供以下地址: 当然,我会收到以下错误: URI方案不是“文件” 我一直在尝试其他方法来获取文件,但它们似乎没有用。我该怎么办?(我也很想执行HTTP请求) 问题答案: 您不能使用ftp开箱即用。 如果文件位于http上,则可以执行以下操作: 如果要使