注意:
在提醒我有效的CSV文件中可能出现的所有“特殊情况”(例如转义引号)之前,我都采用了这种解决方案。我将答案留给那些想要快速又脏的东西的人,但我建议使用Evan的答案以确保准确性。
当您的
data.txt文件是一个由逗号分隔的长字符串且没有换行符时,此代码将起作用:
data.txt:
heading1,heading2,heading3,heading4,heading5,value1_1,...,value5_2
javascript:
$(document).ready(function() { $.ajax({ type: "GET", url: "data.txt", dataType: "text", success: function(data) {processData(data);} });});function processData(allText) { var record_num = 5; // or however many elements there are in each row var allTextLines = allText.split(/rn|n/); var entries = allTextLines[0].split(','); var lines = []; var headings = entries.splice(0,record_num); while (entries.length>0) { var tarr = []; for (var j=0; j<record_num; j++) { tarr.push(headings[j]+":"+entries.shift()); } lines.push(tarr); } // alert(lines);}以下代码将在“真” CSV文件上工作,每组记录之间都有换行符:
data.txt:
heading1,heading2,heading3,heading4,heading5value1_1,value2_1,value3_1,value4_1,value5_1value1_2,value2_2,value3_2,value4_2,value5_2
javascript:
$(document).ready(function() { $.ajax({ type: "GET", url: "data.txt", dataType: "text", success: function(data) {processData(data);} });});function processData(allText) { var allTextLines = allText.split(/rn|n/); var headers = allTextLines[0].split(','); var lines = []; for (var i=1; i<allTextLines.length; i++) { var data = allTextLines[i].split(','); if (data.length == headers.length) { var tarr = []; for (var j=0; j<headers.length; j++) { tarr.push(headers[j]+":"+data[j]); } lines.push(tarr); } } // alert(lines);}


