我有一个csv文件,其标题看起来像这样
header1,header2,header3,header4
value1,value2,value3,value4
value1,value2,value3,value4
value1,value2,value3,value4
我只想阅读标题,我已尝试过。
var keys = [];
for (var k in unemployment2) keys.push(k);
alert("total " + keys.length + " keys: " + keys);
但我得到了行号。
答案 0 :(得分:1)
假设你的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....
这将读取数据并转换如下数组:
[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 ]....
当您的data.txt文件是一长串逗号分隔的条目而没有换行符时,此代码将起作用:
data.txt中:
标题1,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(/\r\n|\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);
}
以下代码适用于&#34; true&#34;每个记录集之间包含换行符的CSV文件:
data.txt中:
标题1,heading2,heading3,heading4,heading5 value1_1,value2_1,value3_1,value4_1,value5_1 value1_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(/\r\n|\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);
}
答案 1 :(得分:0)
我使用下面的代码,因为我想坚持直接JS,我的CVS已经整齐地格式化,所以我不需要额外的正则表达式来格式化它们。这是从我的csv文件中获取头文件的第一步,这样我就可以将它与我的代码中的另一个变量进行比较。
for (key in unemployment2[0]) {
console.log(key);
}