Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   CSV в 2D массив (https://javascript.ru/forum/dom-window/26880-csv-v-2d-massiv.html)

m4gz 26.03.2012 10:04

CSV в 2D массив
 
Подскажите пожалуйста простой способ парсирования CSV таблицы матрицу в мульти массив array[row][col] чтобы можно было представить как матрицу в памяти js

m4gz 26.03.2012 12:39

нашел такую функцию, но она парсит в одномерный массив, что нужно добавить, чтоб матрица была подскажите!
String.prototype.splitCSV = function(sep) {
  for (var foo = this.split(sep = sep || ","), x = foo.length - 1, tl; x >= 0; x--) {
    if (foo[x].replace(/"\s+$/, '"').charAt(foo[x].length - 1) == '"') {
      if ((tl = foo[x].replace(/^\s+"/, '"')).length > 1 && tl.charAt(0) == '"') {
        foo[x] = foo[x].replace(/^\s*"|"\s*$/g, '').replace(/""/g, '"');
      } else if (x) {
        foo.splice(x - 1, 2, [foo[x - 1], foo[x]].join(sep));
      } else foo = foo.shift().split(sep).concat(foo);
    } else foo[x].replace(/""/g, '"');
  } return foo;
};
var mystring = 'this,is,"some, sample","csv, text, for",you,to,"look",at';
var parsed = mystring.splitCSV();
alert(parsed.join("\n"));

m4gz 26.03.2012 13:17

Проблему решил - ура, тему закрывайте


Часовой пояс GMT +3, время: 13:34.