Javascript 使用jQuery在列中循环
我试图循环浏览csv文件的列和行,但只得到第一行结果 这是我的csv布局,有两列和两行Javascript 使用jQuery在列中循环,javascript,jquery,csv,Javascript,Jquery,Csv,我试图循环浏览csv文件的列和行,但只得到第一行结果 这是我的csv布局,有两列和两行 name total subtitle1 name1 65% name2 65% name3 65% name4 65% total 60% subtitle2 name1 65% name2 65% name3 65% name4 65% total 60% subtitle
name total
subtitle1
name1 65%
name2 65%
name3 65%
name4 65%
total 60%
subtitle2
name1 65%
name2 65%
name3 65%
name4 65%
total 60%
subtitle3
name1 65%
name2 65%
name3 65%
name4 65%
total 60%
subtitle4
name1 65%
name2 65%
name3 65%
name4 65%
total 60%
$.ajax({
url:'test.csv',
键入:“获取”,
数据类型:“文本”,
contentType:“文本/csv”,
成功:功能(数据){
var columns=data.split(/\n/);
var column1=列[0]。拆分(/\,/);
var column2=列[1]。拆分(/\,/);
变量数据={};
对于(var i=0;i在您的示例中,您将文件拆分为列
,实际上是行而不是列,然后您将第一行和第二行拆分为两列-第一行和第二行各一列
您应该首先按行拆分,然后针对每一行按列拆分:
$.ajax({
url: 'test.csv',
type: "GET",
dataType: "text",
contentType: "text/csv",
success: function (data) {
// Splitting the file into rows
var rows = data.split(/\n/);
for (var rowIndex in rows)
{
// For every row - split it into columns
var columns = rows[rowIndex].split(/,/);
for (var colIndex in columns)
{
var colValue = columns[colIndex].trim();
// here you have the colValue to play with
console.log(colValue);
}
}
}
});
您循环了错误的内容。data.split('\n')
返回一个行数组,但您没有循环该行
循环所有行。在此循环中,以空格分隔行(数据中没有逗号)
var result={};
var rows=data.split('\n');
对于(变量i=0;i1){//跳过字幕行
结果[列[0]]=列[1];
}
}
为什么要发送contentType:“text/csv”
?这是参数的类型,而不是响应。数据中没有逗号,为什么要拆分?没有在所有行中循环。列[0]
是第一行,列[1]
是第二行。您正在忽略所有其他行。我如何浏览所有数据?如果我想访问字幕并以html格式打印,该怎么办?$(“.subtitle”)。每个(函数(索引,值){value.innerHTML=data.colValue;});对不起,我不明白你在找什么,而且这似乎是一个不同的问题。通过你的答案代码,我得到了所有的数据,这很好,现在我知道该如何处理这些数据并将其打印到我的html页面上。例如,如果我想在过去使用的h3标记中只打印字幕。每个函数都像$(“.subtitle”)。每个(函数(索引,值){value.innerHTML=data.colValue;});
var result = {};
var rows = data.split('\n');
for(var i = 0; i < rows.length; i++) {
var columns = rows[i].split(/\s+/);
if (columns.length > 1) { // skip the subtitle rows
result[columns[0]] = columns[1];
}
}