我有一个csv文件,如下所示:
photoSum,ANNEE,MOIS
2732,2002,1
1030,2002,2
1661,2002,7
1450,2002,3
1308,2002,4
2131,2002,5
2891,2002,6
2748,2002,8
2140,2002,9
1499,2002,10
1211,2002,11
1398,2002,12
5376,2003,1
2780,2003,2
1927,2003,3
2266,2003,4
3670,2003,5
4071,2003,6
4764,2003,7
5261,2003,8
我想让这个CSV文件成为像这样的json数据序列化: 每月排序
的年度数据{
"2002": [
1, //January
22, //February
33,
44,
345,
45,
232,
43423,
324324,
324324,
324324,
6556
],
"2003": [
3.5,
4,
4.3,
6.6,
11.7,
13.2,
16.2,
16.5,
12.7,
8.4,
5,
5.3
]
}
我正在尝试使用 Javascript将此csv转换为json ,编写多种正则表达式,但都失败了,我发现我必须非常仔细地考虑这个csv文件的顺序,这太复杂了,有人可以帮助我吗?请
答案 0 :(得分:0)
function parseCSV(data, rowSeperator) {
var rows = data.split(rowSeperator || '\n');
var json = {};
rows.slice(1).forEach(function (row) {
var columns = row.split(',');
var sum = parseInt(columns[0]||0, 10)
var year = parseInt(columns[1], 10);
var month = parseInt(columns[2], 10);
if (year && month) {
json[year] = json[year] || [];
json[year][month-1] = sum;
}
});
return json;
}
var json = parseCSV(csvData);