我正在尝试使用fast-csv
节点模块读取.csv文件。如果我读取该文件意味着它将返回如下所示的数据数组
[ 'Vehicle', 'Date', 'Location', 'Speed' ]
[ 'BMW',
'30, Jul 2013 09:24 AM',
'Hauz Khas, Enclave, New Delhi, Delhi, India',
'42' ]
[ 'Honda CBR',
'30, Jul 2013 12:00 AM',
'Military Road, West Bengal 734013, India',
'0' ]
我想将其转换为json对象,就像键值对一样。我正在尝试下面的代码片段来读取csv文件
var csv = require("fast-csv");
csv.fromPath(uploadedFiles[0].fd)
.on("data", function(rows){
console.log(rows);
});
我怎么能把它转换成json。任何人都可以帮助我。
答案 0 :(得分:0)
显然,行[0]是你的关键地图:
var keyMap = [];
var jsonRows = [];
for(var i in rows)
{
if(i === 0)
{
keyMap = rows[i]; //save your keys
}
else
{
var row = rows[i]; //get the current record
var obj = {};
for(var r in row)
{
obj[keyMap[r]] = row[r]; //add each value of current record with its corresponding mapped key
}
jsonRows.push(obj);
}
}
console.log(jsonRows);
答案 1 :(得分:0)
使用标题选项:
var csv = require("fast-csv");
csv.fromPath(uploadedFiles[0].fd,{ headers : [ 'Vehicle', 'Date', 'Location', 'Speed' ]})
.on("data", function(data){
console.log(data);
});
您还可以指定标题:
<script>
var app = angular.module('my_app');
app.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.headers.common['X-CSRFToken'] = '{{ csrf_token|escapejs}}';
}]);
</script>