Javascript,剥离/忽略CSV文件的最后一行

Javascript, strip/ignore last line of CSV file

本文关键字:最后 一行 文件 剥离 忽略 CSV Javascript      更新时间:2023-09-26

我有一个CSV文件,如下所示:

Dato,11/2012,12/2012,01/2013,02/2013,03/2013,04/2013,05/2013,06/2013,07/2013
Freespace,4942,4729,4930,4889,4777,4799,4302,4567,4600
Allokeret,6784,7272,7079,7112,7232,7210,7707,7441,7408

你在上面看不到的是,这3个下面有一行空白。

上面的文件是在大型机上创建的,我已经验证了那里没有控制字符,这可能会导致出现额外的空行,通过下面的十六进制字符进行演示:

Dato,11/2012,12/2012,01/2013,02/2013,03/2013,04/2013,05/2013,06/2013,07/2013    
C8A96FF6FFFF6FF6FFFF6FF6FFFF6FF6FFFF6FF6FFFF6FF6FFFF6FF6FFFF6FF6FFFF6FF6FFFF    
4136B1112012B1212012B0112013B0212013B0312013B0412013B0512013B0612013B0712013    
Freespace,4942,4729,4930,4889,4777,4799,4302,4567,4600                          
C988A98886FFFF6FFFF6FFFF6FFFF6FFFF6FFFF6FFFF6FFFF6FFFF                          
695527135B4942B4729B4930B4889B4777B4799B4302B4567B4600                          
Allokeret,6784,7272,7079,7112,7232,7210,7707,7441,7408                          
C9999898A6FFFF6FFFF6FFFF6FFFF6FFFF6FFFF6FFFF6FFFF6FFFF                          
133625953B6784B7272B7079B7112B7232B7210B7707B7441B7408                          

我怀疑当我将文件FTP到本地网络上的服务器时发生了一些事情,导致出现额外的空行。

我使用的javascript:

    $.get("../classic_3270/KMDprod1/INFO.CPU.REPORT.MFDISK" + kunde + ".txt", function (data) {
        var lines = data.split(''n');
        $.each(lines, function(lineNo, line) {
            var items = line.split(',');
            if (lineNo == 0) {
                $.each(items, function(itemNo, item) {
                    if (itemNo > 0) graph.xAxis.categories.push(item);
                })
                ;
            }

(此代码将从CSV文件中提取数据,并将其推送到绘图软件中)

有没有什么方法可以修改上面的内容,让它忽略最后一行,那是空的?

我必须诚实地承认,我不是javascript专家,谷歌这次也没能帮助我。

我希望我已经提供了足够的信息。提前谢谢。

$.get("../classic_3270/KMDprod1/INFO.CPU.REPORT.MFDISK" + kunde + ".txt", function (data) {
        var lines = data.replace(/^'s+|'s+$/g,"").split(''n');
        $.each(lines, function(lineNo, line) {
            var items = line.split(',');
            if (lineNo == 0) {
                $.each(items, function(itemNo, item) {
                    if (itemNo > 0) graph.xAxis.categories.push(item);
                })
                ;
            }
  ...

我去掉了trim(),并将regexp用于ie8 compat。。。

尝试过滤行:

var lines = $.grep(data.split(''n'), Boolean);

这还会删除所有空行,而不仅仅是最后一行。

但是,如果您知道最后一行是空的,为什么不选择更简单的data.split(''n').slice(0, -1)呢?