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