Javascript 如何编写适当的算法来序列化这种特殊格式的json数据
我有一个csv文件,如下所示: 光影 27322002,1 10302002,2 16612002,7 14502002,3 13082002,4 21312002,5 28912002,6 2748202,8 21402002,9 14992002,10 12112002,11 13982002,12 53762003,1 27802003,2 19272003,3 22662003,4 36702003,5 40712003,6 47642003,7 52612003,8 我想使此CSV文件成为json数据序列化,如下所示: 年度数据按月排序Javascript 如何编写适当的算法来序列化这种特殊格式的json数据,javascript,json,Javascript,Json,我有一个csv文件,如下所示: 光影 27322002,1 10302002,2 16612002,7 14502002,3 13082002,4 21312002,5 28912002,6 2748202,8 21402002,9 14992002,10 12112002,11 13982002,12 53762003,1 27802003,2 19272003,3 22662003,4 36702003,5 40712003,6 47642003,7 52612003,8 我想使此CSV文件
我尝试用JavaScript把这个CSV转换成JSON,编写多种正则表达式,但都失败了,我发现我必须仔细考虑这个CSV文件的序列,太复杂了,有人能帮我吗?请
告诉我们你试过什么代码我还是没有一个好主意…非常感谢!我测试了代码,很好。但是我有一个建议,也许第二行应该是:var rows=data.toString.splitrowspeparator | |'\n';
{
"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
]
}
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);