ga-covid.thederf.com/data/parser/risk/health-conditions.js
2021-12-31 18:01:49 -05:00

47 lines
1.1 KiB
JavaScript

import mkdirp from 'mkdirp'
import path from 'path'
import fsp from 'fs/promises'
import Papa from 'papaparse'
import { getCounty } from '../../util.js'
async function processSingleZip ({ date, zip }) {
const output = {
directory: `./public/data/risk/health-conditions/`,
file: `health-conditions.json`
}
try {
await fsp.rm(output.directory, { recursive: true })
} catch (e) {}
const csv = await zip.entryData('comorbidities_sum.csv').then(res => res.toString())
const rows = Papa.parse(csv, {
header: true
}).data
const results = rows.map(row => {
return {
health_condition: row.comorbidity,
sex: row.sex,
cases: +row.cases,
deaths: +row.deaths
}
}).filter(row => !!row.health_condition)
const data = {
segment: { },
headers: Object.keys(results[0]),
rows: results.map(row => Object.values(row))
}
await mkdirp(output.directory)
await fsp.writeFile(path.join(output.directory, output.file), JSON.stringify(data))
}
function process (zips) {
return processSingleZip(zips.at(-1))
}
export default process