我的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的专家,谷歌这次也无法帮助我。
我希望我已经提供了足够的信息。提前谢谢。
答案 0 :(得分:1)
尝试过滤这些行:
var lines = $.grep(data.split('\n'), Boolean);
这也会删除所有空行,而不仅仅是最后一行。
但如果你知道你的最后一行是空的,为什么不去寻找像data.split('\n').slice(0, -1)
这样简单的东西?
答案 1 :(得分:1)
$.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 ...