Javascript根据第一列中的值从csv文件中拆分行

Javascript根据第一列中的值从csv文件中拆分行,javascript,jquery,ajax,csv,Javascript,Jquery,Ajax,Csv,我正在尝试根据第一列中的vlue将csv文件拆分为组。然后将这些行存储在一个数组中,以便在网页上显示。 我是javascript新手,无法理解它。 我有一个具有以下结构的csv文件: 0,-1.0,0.0,0.0,0.0 1,0.0,0.0,0.0,0.0 0,-1.0,0.0,0.0,0.0 1,-1.0,0.0,0.0,0.0 2,0.0,0.0,0.0,0.0 0,-1.0,0.0,0.0,0.0 1,-1.0,0.0,0.0,0.0 2,-1.0,0.0,0.0,0.0 3,0.0,0.

我正在尝试根据第一列中的vlue将csv文件拆分为组。然后将这些行存储在一个数组中,以便在网页上显示。 我是javascript新手,无法理解它。 我有一个具有以下结构的csv文件:

0,-1.0,0.0,0.0,0.0
1,0.0,0.0,0.0,0.0
0,-1.0,0.0,0.0,0.0
1,-1.0,0.0,0.0,0.0
2,0.0,0.0,0.0,0.0
0,-1.0,0.0,0.0,0.0
1,-1.0,0.0,0.0,0.0
2,-1.0,0.0,0.0,0.0
3,0.0,0.0,0.0,0.0
0,-1.0,0.0,0.0,0.0
1,-1.0,0.0,0.0,0.0
2,-1.0,0.0,0.0,0.0
3,-1.0,0.0,0.0,0.0
4,0.0,0.0,0.0,0.0
我试图根据文件中第一列的值将数据行拆分为组。我试图从0分组到下一个0,然后将每个分割数据块存储在一个数组中,以便在网页上显示

我可以从for循环访问第一行,并设置一个条件来检查值是否为0,但在检测到下一个0之前,我很难添加下一行

请看下面我到目前为止所做的

// AJAX in the data file
    $.ajax({
        type: "GET",
        url: "static/Dataframe.csv",
        dataType: "text",
        cache: false,
        success: function(data) {
            var arr1 = data.split(/\r\n|\n|\r/);
            var array2 = [];
            for (let i = 0; i < arr1.length; i++) {

                    arr1[i].split(',');
                    array2.push(arr1[i]);
                    if(arr1[i][0]== 0){
                        array2.pop()
                    }
            }
            // for debugging
            // document.getElementById("dialog").innerHTML = arr1;
            console.log(array2);
        }
    });
我需要的是:

[
    [0, -1.0, 0.0, 0.0, 0.0, 1, 0.0, 0.0, 0.0, 0.0],
    [0, -1.0, 0.0, 0.0, 0.0, 1, -1.0, 0.0, 0.0, 0.0, 2, 0.0, 0.0, 0.0, 0.0],
    [0, -1.0, 0.0, 0.0, 0.0, 1, -1.0, 0.0, 0.0, 0.0, 2, -1.0, 0.0, 0.0, 0.0, 3, 0.0, 0.0, 0.0, 0.0],
    [0, -1.0, 0.0, 0.0, 0.0, 1, -1.0, 0.0, 0.0, 0.0, 2, -1.0, 0.0, 0.0, 0.0, 3, -1.0, 0.0, 0.0, 0.0, 4, 0.0, 0.0, 0.0, 0.0]
]
我是javaScript新手,很难弄明白这一点。 任何建议都将不胜感激。

请使用此

// AJAX in the data file
    $.ajax({
        type: "GET",
        url: "static/Dataframe.csv",
        dataType: "text",
        cache: false,
        success: function(data) {
            var arr1 = data.split(/\r\n|\n|\r/);
            var array2 = [];
            for (let i = 0; i < arr1.length; i++) {
                    tmp =  arr1[i].split(',');
                    array2.push(tmp);
                    if(arr1[i][0]== 0){
                        array2.pop()
                    }
            }
            // for debugging
            // document.getElementById("dialog").innerHTML = arr1;
            console.log(array2);
        }
    });
//数据文件中的AJAX
$.ajax({
键入:“获取”,
url:“static/Dataframe.csv”,
数据类型:“文本”,
cache:false,
成功:功能(数据){
var arr1=data.split(/\r\n |\n |\r/);
var array2=[];
for(设i=0;i
您可以检查内部数组的第一个值,并将新数组添加到结果集中

“0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n1,-1.0,0.0,0.0,0.0\n2,-1.0,0.0,0.0,0.0\n3,-1.0,0.0,0.0,0.0,0.0\n4,0.0,0.0,0.0,0.0',, 结果=数据。拆分(/\r\n |\n |\r/)。减少((r,s)=>{ var数组=s.split(',').map(编号); 如果(!数组[0]){ r、 推送([]); } r[r.length-1].push(…数组); 返回r; }, []); log(result.map(a=>a.join(“”))
。作为控制台包装器{max height:100%!important;top:0;}
有什么作用吗?请添加一个想要的结果。很抱歉我把它放进去了。我现在就去,谢谢你,尼娜。这正是我想要的:)
// AJAX in the data file
    $.ajax({
        type: "GET",
        url: "static/Dataframe.csv",
        dataType: "text",
        cache: false,
        success: function(data) {
            var arr1 = data.split(/\r\n|\n|\r/);
            var array2 = [];
            for (let i = 0; i < arr1.length; i++) {
                    tmp =  arr1[i].split(',');
                    array2.push(tmp);
                    if(arr1[i][0]== 0){
                        array2.pop()
                    }
            }
            // for debugging
            // document.getElementById("dialog").innerHTML = arr1;
            console.log(array2);
        }
    });
// AJAX in the data file
// Just removed the for loop with the length and see the modified code.
$.ajax({
        type: "GET",
        url: "static/Dataframe.csv",
        dataType: "text",
        cache: false,
        success: function(data) {
            var arr1 = data.split(/\r\n|\n|\r/);
            var array2 = [];
            for (var items of arr1) {
                    tmp =  items.split(',');
                    array2.push(tmp);
                    if(items[0]== 0){
                        array2.pop()
                    }
            }
            // for debugging
            // document.getElementById("dialog").innerHTML = arr1;
            console.log(array2);
        }
    });