2017-01-13 4 views
0

$ scope.fileContent(私は自分のCSVファイルから取得したもの)の文字列データを配列に変換するにはどうすればよいか分かりません。 Angularjs:文字列のCSV形式を配列

heading1,heading2,heading3,heading4,heading5 
value1_1,value2_1,value3_1,value4_1,value5_1 
value1_2,value2_2,value3_2,value4_2,value5_2 

=

はconsole.log($ scope.fileContent)しかし、私はこのような配列に変換する機能を希望:私は私の$ scope.fileContentを印刷

[ 
    { heading1:"value1_1",heading2:"value2_1",heading3:"value3_1",heading4:"value4_1",heading5:"value5_1" } 
    { heading1:"value1_2",heading2:"value2_2",heading3:"value3_2",heading4:"value4_2",heading5:"value5_2" } 
] 

Angularjsでそれを実装する方法のアイディアですか?

私はいくつかの例を見ましたが、私はそれを取得していない、私が最もreleantはCSVの構文解析ライブラリを使用してthis.

+0

[ngの-CSV](https://github.com/asafdav/ng-csvは).. –

答えて

1

はおそらく最高だろうですね。私は以前にPapa Parseを使用しました。あなたはそれを自分で行いたい場合は、...

function csvToArray(csvString) { 
    var lines = csvString.split('\n'); 
    var headerValues = lines[0].split(','); 
    var dataValues = lines.splice(1).map(function (dataLine) { return dataLine.split(','); }); 
    return dataValues.map(function (rowValues) { 
     var row = {}; 
     headerValues.forEach(function (headerValue, index) { 
      row[headerValue] = (index < rowValues.length) ? rowValues[index] : null; 
     }); 
     return row; 
    }); 
} 

var x = "heading1,heading2,heading3,heading4,heading5\nvalue1_1,value2_1,value3_1,value4_1,value5_1\nvalue1_2,value2_2,value3_2,value4_2,value5_2"; 
console.log(csvToArray(x)); 

// OUTPUT 
// [ { heading1: 'value1_1', 
// heading2: 'value2_1', 
// heading3: 'value3_1', 
// heading4: 'value4_1', 
// heading5: 'value5_1' }, 
// { heading1: 'value1_2', 
// heading2: 'value2_2', 
// heading3: 'value3_2', 
// heading4: 'value4_2', 
// heading5: 'value5_2' } ] 
+0

パーフェクトあなたを助けることができます!ありがとう@ペース!今私はそれを行う必要がありますがExcelファイル(XLSX、XLS ...)から配列[オブジェクト]に、可能であればこの別の質問[リンク](http://stackoverflow.com/questions/41638768/angularjs-any -directive-to-convert-a-file-xlsx-xls-to-array-object-ou-other)を使用します。 – kfm

関連する問題