Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript使用File.Reader()逐行读取_Javascript_Csv - Fatal编程技术网

Javascript使用File.Reader()逐行读取

Javascript使用File.Reader()逐行读取,javascript,csv,Javascript,Csv,但距离不够近 我的HTML5应用程序读取CSV文件(尽管它也适用于文本),并在屏幕上显示一些数据 我的问题是CSV文件可能很大(文件大小限制为1GB)。好消息是,我只需要在任何时候显示CSV文件中的一些数据 这个想法类似于(psudeo代码) 关于如何读取CSV文件的文章已经足够多了,我正在使用 function openCSVFile(csvFileName){ var r = new FileReader(); r.onload = function(e) {

但距离不够近

我的HTML5应用程序读取CSV文件(尽管它也适用于文本),并在屏幕上显示一些数据

我的问题是CSV文件可能很大(文件大小限制为1GB)。好消息是,我只需要在任何时候显示CSV文件中的一些数据

这个想法类似于(psudeo代码)

关于如何读取CSV文件的文章已经足够多了,我正在使用

function openCSVFile(csvFileName){
    var r = new FileReader();
    r.onload = function(e) {
        var contents = e.target.result;
        var s = "";
    };  
    r.readAsText(csvFileName);
}
但是,我看不出如何在Javascript中一次读取一行代码,即使这是可能的

我的CSV数据看起来像

Some detail: date, ,
More detail: time, ,
val1, val2
val11, val12
#val11, val12
val21, val22

我需要删去前2行,也要考虑如何用一个字母A来开始行(因此我需要一次读一行)

那么,除了将批次加载到内存中之外,我还有什么选项可以一次读取一行吗?

目前还没有
readLine()
方法来执行此操作。但是,有一些想法需要探讨:

  • 从blob读取时会触发
    进度
    事件。虽然不需要,但引擎可能会过早地填充类似于XMLHttpRequest的
    .result
    属性
  • 为文件读取器起草了一个流
    .read(size)
    方法。不过,我认为它还没有在任何地方实现
  • Blob确实有一个返回包含部分原始数据的新Blob的。规范和操作的同步性质表明,这是通过引用完成的,而不是复制,并且应该非常有效。这将允许您逐块读取巨大的文件
诚然,这些方法都不会在行尾自动停止。您需要手动缓冲块,将它们分成几行,并在完成后将它们移出。此外,这些操作处理的是字节,而不是字符,因此需要处理的多字节字符可能存在编码问题

另请参见:

可能有帮助,请使用预览选项
Some detail: date, ,
More detail: time, ,
val1, val2
val11, val12
#val11, val12
val21, val22