I have data in the following format,
const data = {
"Class-1": [{
"section": "A",
"total": "45",
"boys": "31",
"girls": "14",
"subjects": 3,
"class-teacher": "ABC"
}, {
"section": "B",
"total": "30",
"boys": "20",
"girls": "10",
"subjects": 3,
"class-teacher": "XYZ"
}],
"Class-2": [{
"section": "A",
"total": "40",
"boys": "25",
"girls": "15",
"subjects": 4,
"class-teacher": "ABC2"
}],
"Class-3": [{
"section": "A",
"total": "44",
"boys": "29",
"girls": "15",
"subjects": 4,
"class-teacher": "ABC3"
}, {
"section": "B",
"total": "40",
"boys": "29",
"girls": "11",
"subjects": 4,
"class-teacher": "XYZ1"
}],
"Class-4": [{
"section": "A",
"total": "50",
"boys": "30",
"girls": "20",
"subjects": 5,
"class-teacher": "ABC4"
}]
}
I want to export the above data in a CSV file with JavaScript, something like as shown below,
I tried using d3-dsv
(this), but not able to achieve the desired result. With d3-dsv
, if I am flattening the data into an immediate array of objects, I am not getting the classes- Class-1, Class-2, Class-3, and Class-4.
With d3-dsv
, if I give data in the following format, I get output as attached below,
Data format-
[{
"section": "A",
"total": "45",
"boys": "31",
"girls": "14",
"subjects": 3,
"class-teacher": "ABC"
}, {
"section": "B",
"total": "30",
"boys": "20",
"girls": "10",
"subjects": 3,
"class-teacher": "XYZ"
}, {
"section": "A",
"total": "40",
"boys": "25",
"girls": "15",
"subjects": 4,
"class-teacher": "ABC2"
}, {
"section": "A",
"total": "44",
"boys": "29",
"girls": "15",
"subjects": 4,
"class-teacher": "ABC3"
}, {
"section": "B",
"total": "40",
"boys": "29",
"girls": "11",
"subjects": 4,
"class-teacher": "XYZ1"
}, {
"section": "A",
"total": "50",
"boys": "30",
"girls": "20",
"subjects": 5,
"class-teacher": "ABC4"
}]