function hierarchicalize(csv_data) {
let all_types = [];
let result = { "name": "top", "children": all_types};
for (let row of csv_data) {
let l1 = row["Party Name"];
let l2 = row["Big Affiliation"];
let item = row["Donor Name"];
let value = parseFloat(row["Value"]);
let l1group = fetch_or_create_category(all_types, l1);
let l2group = fetch_or_create_category(l1group["children"], l2);
let new_entry = { "name": item, "value": value };
l2group["children"].push(new_entry);
}
return result;
}