如何从具有多行的tsv文件访问数据

时间:2015-09-02 04:06:24

标签: javascript jquery

我在访问tsv文件中的数据时遇到了一些问题。数据在tsv的第3行。我想访问该名称并在屏幕上打印。

box1.bar1   box1.bar2   box1.bar3   box1.bar4   box1.total
60.0%   80.0%   40.0%   60.0%   80.0%
box1.bar1.name  box1.bar2.name  box1.bar3.name  box1.bar4.name  
name1   name2   name3   name4

这是我的javascript

$(document).ready(function() {
	$.ajax({
		url: 'somefile.csv',
		type: "GET",
		dataType: "text",
		mimeType: "text/plain",
		success: function (data) {
			var lines = data.split(/\n/);
			var line1 = lines[0].split(/\,/);
			var line2 = lines[1].split(/\,/);
			var data = {};
			for(var i=0; i<line1.length; i++) {
				data[line1[i].trim()] = line2[i].trim();
			}
			$(".score-text").each(function( index, value ) { 
        		value.innerText = data['box'+(index+1) + '.total'];
    		});
    		$(".data").each(function( index, value, name ) {  
        		var boxIndex = Math.floor(index/4);
        		var boxName = Math.floor(index/4);
        		width = data['box'+(boxIndex+1) + '.bar'+(index+1-boxIndex*4)];
        		console.log(data['.box'+(boxIndex+1) + '.bar'+(index+1-boxIndex*4) + '.name']);
        		value.style.width = width;
    		});
		}
	}); 
});

1 个答案:

答案 0 :(得分:0)

此代码将为您提供TSV中的第3行。

        $(document).ready(function(){
            $.ajax({
                url: 'somefile.csv',
                type: "GET",
                dataType: "text",
                mimeType: "text/plain",
                success: function(data){
                    var lines = data.split("\n");
                    console.log(lines[2]); // logs "box1.bar1.name  box1.bar2.name  box1.bar3.name  box1.bar4.name"
                    var names = lines[2].split("\t");
                    console.log(names); //logs ["box1.bar1.name", "box1.bar2.name", "box1.bar3.name", "box1.bar4.name"]
                }
            });
        });