streeteasy_data = {
const full_report_url = `https://cdn-charts.streeteasy.com/Master%20Report.zip`;
const buffer = await d3.buffer(getCorsUrl(full_report_url));
console.log({ jszip });
const zip_files = await jszip.loadAsync(buffer);
const median_rent_text = await (
await jszip.loadAsync(
await zip_files.file(`medianAskingRent_All.zip`).async(`arrayBuffer`)
)
)
.file(`medianAskingRent_All.csv`)
.async(`text`);
const median_rent_raw = d3.csvParse(median_rent_text);
const median_rent_flat = median_rent_raw
.map((d) => {
const { areaName, Borough, areaType } = d;
const date_keys = Object.keys(d).filter((d) => d.match(/\d{4}-\d{2}/));
return date_keys.map((date_key) => {
return {
areaName,
Borough,
areaType,
date_key,
date: new Date(date_key),
value: +d[date_key]
};
});
})
.flat()
.map((d) => ({ ...d, value: d.value === 0 ? null : d.value }));
return median_rent_flat.filter((d) => d.areaType === `borough`);
}