如何使用angularjs跳过第一行csv文件数据?

时间:2016-10-08 04:18:52

标签: angularjs csv

我正在使用数据表来打印csv文件数据。 CSV文件由数据组成。这是一个简短的数据文件。

name,city,category,discount
surya,gnt,all,10%
surya,gnt,all,10%
surya,gnt,all,10%
surya,gnt,all,10%
surya,gnt,all,10%

我想跳过第一行数据。如何停止在我的数据表中显示第一行。我的代码是`

//saving csv file to firebase
           	$('#save-csv').bind('click', function() {
		   if (window.File && window.FileReader && window.FileList && window.Blob)        {
			var file = document.getElementById('files').files[0];
			var reader = new FileReader();
			  reader.readAsText(file);
			  reader.onload = function(event){
				var csv = event.target.result;
				var data = $.csv.toArrays(csv);
				var csvObj = {}
				for(key in data){
					csvObj[key] = {};
					csvObj[key].name = data[key][0];
					csvObj[key].city = data[key][1];
					csvObj[key].category = data[key][2];
					csvObj[key].discount = data[key][3];
				}
				console.log(csvObj);
				$scope.csvStores.stores = csvObj;
				$scope.csvStores.$save().then(function(res){
					console.info(res);
				}).catch(function(err){
					console.error(err);
				});
				$("#myModal").modal("hide");
				swal(
					'Saved',
					'Successfully Saved',
					'success'
				)
			     }
		    }else {
			
		 }
	     });
     

1 个答案:

答案 0 :(得分:0)

在迭代数据之前,你应该以某种方式删除/跳过第一行。 在我看来最好删除,因为如果你想稍后使用这个数组,那么你必须再次跳过。 我有两个想法:

在迭代调用之前

data = data.shift(); 基于此:http://www.w3schools.com/jsref/jsref_shift.asp 这将删除第一个元素。

或者,如果您使用的是lodash,则可以根据此轻松拨打data = _.tail(data);https://lodash.com/docs/4.16.4#tail