refactoring

This commit is contained in:
frankknoll
2022-11-22 12:40:26 +01:00
parent 134a133da1
commit e87fe0c8ba
21 changed files with 692 additions and 731 deletions

42
src/VaersDescrReader.py Normal file
View File

@@ -0,0 +1,42 @@
import pandas as pd
class VaersDescrReader:
def __init__(self, dataDir):
self.dataDir = dataDir
def readVaersDescrsForYears(self, years):
return [self.readVaersDescrForYear(year) for year in years]
def readVaersDescrForYear(self, year):
return {
'VAERSDATA': self._readVAERSDATA('{dataDir}/{year}VAERSDATA.csv'.format(dataDir = self.dataDir, year = year)),
'VAERSVAX': self._readVAERSVAX('{dataDir}/{year}VAERSVAX.csv'.format(dataDir = self.dataDir, year = year))
}
def readNonDomesticVaersDescr(self):
return {
'VAERSDATA': self._readVAERSDATA(self.dataDir + "/NonDomesticVAERSDATA.csv"),
'VAERSVAX': self._readVAERSVAX(self.dataDir + "/NonDomesticVAERSVAX.csv")
}
def _readVAERSDATA(self, file):
return self._read_csv(
file = file,
usecols = ['VAERS_ID', 'RECVDATE', 'DIED', 'L_THREAT', 'DISABLE', 'HOSPITAL', 'ER_VISIT', 'SPLTTYPE'],
parse_dates = ['RECVDATE'],
date_parser = lambda dateStr: pd.to_datetime(dateStr, format = "%m/%d/%Y"))
def _readVAERSVAX(self, file):
return self._read_csv(
file = file,
usecols = ['VAERS_ID', 'VAX_DOSE_SERIES', 'VAX_TYPE', 'VAX_MANU', 'VAX_LOT'],
dtype = {"VAX_DOSE_SERIES": "string"})
def _read_csv(self, file, **kwargs):
return pd.read_csv(
file,
index_col = 'VAERS_ID',
encoding = 'latin1',
low_memory = False,
**kwargs)