2015-12-03 65 views
0

是否有可能將CSV數據轉換成這種格式:.csv數據文件字符串數據

date,value1,value2,value3//CSV header 
    2015-11-04,58,221,12//second row csv 
    2015-11-05,62,234,18 
    2015-11-06,69,258,22 
... 

以這種格式?

[12,18,22,...]//Get the data from value3 field 

我看到的Web引用將csv文件轉換爲數組,但不是與我上面寫的相同的格式。

在此先感謝。

+0

分兩步進行; 1.導入CSV(框架),2.選擇你想要的列(常規多維數組)。 –

+0

感謝您的評論。我是編程新手,所以首先我會搜索你的選項,然後我會一步步地應用。 – user19566

回答

1
var rows = data.split("\n"); 
var array = []; 
var final = []; 

$.get("csvstring.php", function(data) { 
    $.each(rows, function(index, value){ 
     if(index > 0) { 
      var values = value.split(","); 
      array.push(values); 
     } 
    }); 

    $.each(array, function(index, value){ 
     $.each(value, function(indexs, values) { 
      console.log(index); 
      if(indexs == 3) { 
      final.push(values); 
      } 
     }); 
    }); 
}); 

console.log(final); 

這將返回:

["12", "18", "22"] 

我希望它幫助!

+0

如果csv數據是一個無限行的文件(data.csv),首先我必須解析它? – user19566

+0

你是什麼意思?這將與任何數量的行做! –

+0

當我把一個csv文件:'var CSV =「data.csv」'而不是像'var CSV =「2015-11-04,58,221,12 \ n2015-11-05,62,234,18 \ n2015- 「我得到控制檯: 0 csvstring.php:26 //和 [] csvstring.php:33 csv文件是相同的問題 – user19566

0

您可以使用$ .get加載它,並使用.split()解析它,這裏有一個小例子。

$.get("YOUR.csv", function(data){ 
    var yourParsedCSV = data.split("\n").map(function(i){return i.split(",")}); 
}); 

繼承人它做什麼,解釋

1º分離行與

data.split("\n"); 

2º環行,並用逗號返回它們作爲陣列分裂(.MAP是最快的選項)

...map(function(i){ //for every item in the previous array... 
    return i.split(","); //return it as array 
});