如何使用Javascript读取本地文本文件并逐行读取?

     2023-02-22     133

关键词:

【中文标题】如何使用Javascript读取本地文本文件并逐行读取?【英文标题】:How to use Javascript to read local text file and read line by line? 【发布时间】:2014-06-13 10:28:12 【问题描述】:

我有一个 html+javascript 制作的网页,是演示版,我想知道如何读取本地 csv 文件并逐行读取,以便从 csv 文件中提取数据。

【问题讨论】:

看看这个html5rocks.com/en/tutorials/file/dndfiles 您对浏览器的兼容性有什么要求吗?特别是你支持ie9或更低? developer.mozilla.org/en-US/docs/Web/API/FileReader @HunterLarco 谢谢,问题是我不知道如何从结果中获取每一行。我的意思是 reader.readAsText() 返回所有数据,而不是我可以逐行读取 @LukeMcGregor 无要求,支持当前版本即可。 【参考方案1】:

使用 ES6,javascript 变得更简洁了

handleFiles(input) 

    const file = input.target.files[0];
    const reader = new FileReader();

    reader.onload = (event) => 
        const file = event.target.result;
        const allLines = file.split(/\r\n|\n/);
        // Reading line by line
        allLines.forEach((line) => 
            console.log(line);
        );
    ;

    reader.onerror = (event) => 
        alert(event.target.error.name);
    ;

    reader.readAsText(file);

【讨论】:

投票赞成使用正则表达式拆分行,这是正确的做法。 更简单的正则表达式:\r?\n 很好的例子,我喜欢处理 Windows 和 Unix 风格的行尾。谢谢。【参考方案2】:

没有 jQuery:

document.getElementById('file').onchange = function()

  var file = this.files[0];

  var reader = new FileReader();
  reader.onload = function(progressEvent)
    // Entire file
    console.log(this.result);

    // By lines
    var lines = this.result.split('\n');
    for(var line = 0; line < lines.length; line++)
      console.log(lines[line]);
    
  ;
  reader.readAsText(file);
;

HTML:

<input type="file" name="file" id="file">

记得在文件字段渲染后放置你的 javascript 代码。

【讨论】:

我有 200000 行(不是开玩笑,这是一个日志文件)。我不认为您的解决方案涵盖了这一点,不过还是不错的尝试。 此外,如果返回(换行)在带引号的字段内,则此解决方案无法处理。至于 Tomas,如果您有更高级的浏览器,您可以使用生成器逐行读取,而无需进行“拆分”。 我们取行的外部文件的路径在哪里? @TomášZato 矿是 100m 线。不过,我还没有测试过这个答案。你是怎么做到的?一个例子的链接将非常感激! huanPastas,为答案+1! @gsamaras 我记不太清了,但我使用了一些流,它逐段读取数据,然后每次遇到\n 时都会发出事件。但是对于 100m 行,你会遇到用 HTML 显示它们的表格。

是否可以按顺序读取文本文件?

...ially?【发布时间】:2018-07-2820:08:16【问题描述】:我正在使用beam.io.ReadFromText处理来自文本文件的数据。解析文件比逐行读取更复杂(有一些状态需要携带并逐行更改)。我可以让Beam只用一个处理器读取我的文件吗?(未并行化... 查看详情

如何通过 javascript 或 jquery 读取巨大的文本文件?

】如何通过javascript或jquery读取巨大的文本文件?【英文标题】:Howtoreadahugetextfilethroughjavascriptorjquery?【发布时间】:2012-02-2312:10:34【问题描述】:如何通过javascript或jquery逐行读取巨大的文本文件?我无法全部读取并拆分为数组... 查看详情

如何读取文本文件(逐行)并使用输出作为 nameS 在 java 中创建 .pdf 文件?

】如何读取文本文件(逐行)并使用输出作为nameS在java中创建.pdf文件?【英文标题】:Howtoreadinatextfile(line-by-line)andusetheoutputasnameStocreate.pdfFilesinjava?【发布时间】:2014-12-0914:55:20【问题描述】:我正在编写一个程序,它允许我创... 查看详情

不是逐行读取文件

...首先将文件存储在内存中然后逐行处理来提高性能-线。使用来自sysinternals的FileMon,我遇到了以16KB的块读取文件,并且由于我要处理的文件不是那么大(~2MB,但很多!), 查看详情

如何逐行读取带有循环的文本文件[重复]

】如何逐行读取带有循环的文本文件[重复]【英文标题】:HowdoIreadinatextfilewithaloop,linebyline[duplicate]【发布时间】:2017-11-1923:06:46【问题描述】:所以我刚刚开始C#,几乎没有知识,所以这对我来说更多的是学习而不是实际使用。... 查看详情

如何逐行读取文本文件并使用android将每一行存储在数组中?可以在android中读取xls文件吗?

】如何逐行读取文本文件并使用android将每一行存储在数组中?可以在android中读取xls文件吗?【英文标题】:Howtoreadafileatextfilelinebylineandstoreeachlineinanarrayusingandroid?Cananxlsfilebereadinandroid?【发布时间】:2011-05-1003:52:02【问题描述】... 查看详情

如何逐行读取大型文本文件,而不将其加载到内存中?

】如何逐行读取大型文本文件,而不将其加载到内存中?【英文标题】:HowcanIreadlargetextfileslinebyline,withoutloadingitintomemory?【发布时间】:2011-09-2210:49:41【问题描述】:我需要逐行读取一个大文件。假设该文件超过5GB,我需要读取... 查看详情

尝试从文本文件中读取时出现“索引超出范围错误”

...在尝试从名为“level1”的文本文件中读取并逐行读取,并使用.enumerated()函数将每一行添加到数组中。但是当我尝试使用索引来填充数组时,当我 查看详情

读取本地文本文件 JavaScript [重复]

】读取本地文本文件JavaScript[重复]【英文标题】:ReadlocaltxtfileJavaScript[duplicate]【发布时间】:2018-07-0919:37:32【问题描述】:我试图在JS中读取txt文件。所以我使用this代码。我的txt文件看起来:["187.48.35.40"]我的应用程序正... 查看详情

如何逐行读取文本文件并从文件内容中返回两个字符串和一个列表?

】如何逐行读取文本文件并从文件内容中返回两个字符串和一个列表?【英文标题】:HowdoIreadatextfilelinebylineandreturntwostringsandalistfromthecontentsofthefile?【发布时间】:2022-01-0319:12:08【问题描述】:因为我想同时将文本文件读入字符... 查看详情

如何使用 Java 的 BufferedReader 与 InputStreamReader 读取文件?

】如何使用Java的BufferedReader与InputStreamReader读取文件?【英文标题】:HowtoreadafilewithJava\'sBufferedReadervsInputStreamReader?【发布时间】:2016-06-2105:09:25【问题描述】:下面我有以下代码来读取文件并逐行浏览它。这是使用java的BufferedRe... 查看详情

c语言程序,想从本地读取“word.txt”中的内容,并逐行显示在显示器上,怎么写?

下面的代码,可以读取,但是一下全部显示出来了。加一段什么代码?谢谢。#include<stdio.h>#include<stdlib.h>#include<string.h>intmain()charch;FILE*fp;fp=fopen("/home/lay/Desktop/baby/word/word.txt","r");if(fp==NULL)printf("openf... 查看详情

使用 ANT 逐行合并多个文本文件

...ebylineusingANT【发布时间】:2017-02-1415:51:34【问题描述】:如何将多个文本文件合并到一个文件中。我想从每个文件中逐行读取文本,然后将文本合并到最终输出文件中。我的文件中的示例文本是:文件1:aaabbbccc文件2:dddeeefff文... 查看详情

java示例代码_如何逐行读取文本文件并获得该行';s文本单独显示(长度文本)

java示例代码_如何逐行读取文本文件并获得该行';s文本单独显示(长度文本) 查看详情

如何在 Java 中逐行读取文本文件并分隔每一行的内容?

】如何在Java中逐行读取文本文件并分隔每一行的内容?【英文标题】:Howdoyoureadatextfile,linebyline,andseparatecontentsofeachlineinJava?【发布时间】:2015-10-1401:21:23【问题描述】:我想知道如何读取文件并扫描每一行,但将每一行的内容... 查看详情

用javascript读取本地文本文件[重复]

】用javascript读取本地文本文件[重复]【英文标题】:Readlocaltextfilewithjavascript[duplicate]【发布时间】:2017-06-2414:31:01【问题描述】:我想从我的本地html文件中读取一个本地文本文件,因此我尝试遵循此线程Javascript-readlocaltextfile中... 查看详情

c++文件读写操作逐字符读取文本和逐行读取文本(代码片段)

...本和逐行读取文本 C++文件读写操作(三)如何统计文本的行数及如何读取文件某一行内容 C++文件读写操作(四)读取文件数据到临时 查看详情

使用 Ruby 逐行读取、编辑和写入文本文件

】使用Ruby逐行读取、编辑和写入文本文件【英文标题】:Read,edit,andwriteatextfileline-wiseusingRuby【发布时间】:2011-05-2219:06:49【问题描述】:有没有在Ruby中就地读取、编辑和写入文件的好方法?在我的在线搜索中,我发现建议将其... 查看详情