diff --git a/etc/x.txt b/etc/x.txt new file mode 100644 index 0000000000000000000000000000000000000000..7e4d9e5e3964a3e09795c00036a2a9d6612a4c63 --- /dev/null +++ b/etc/x.txt @@ -0,0 +1,21 @@ +datum +dosen_kumulativ +dosen_differenz_zum_vortag +dosen_biontech_kumulativ +dosen_moderna_kumulativ +personen_erst_kumulativ +personen_voll_kumulativ +impf_quote_erst +impf_quote_voll +indikation_alter_dosen +indikation_beruf_dosen +indikation_medizinisch_dosen +indikation_pflegeheim_dosen +indikation_alter_erst +indikation_beruf_erst +indikation_medizinisch_erst +indikation_pflegeheim_erst +indikation_alter_voll +indikation_beruf_voll +indikation_medizinisch_voll +indikation_pflegeheim_voll diff --git a/org/woehlke/covid19/vaccination/vaccination_model.py b/org/woehlke/covid19/vaccination/vaccination_model.py index 3d87ab1e64167c18c7a53e82e0b515ec27372dd7..8a6d334d6f61e18fba3b5affb4f98bf69b45bee0 100644 --- a/org/woehlke/covid19/vaccination/vaccination_model.py +++ b/org/woehlke/covid19/vaccination/vaccination_model.py @@ -213,15 +213,28 @@ class VaccinationDataImportTable(db.Model): __tablename__ = 'vaccination_data_import' id = db.Column(db.Integer, primary_key=True) - date_reported = db.Column(db.String(255), nullable=False) - country_code = db.Column(db.String(255), nullable=False) - country = db.Column(db.String(255), nullable=False) - who_region = db.Column(db.String(255), nullable=False) - new_cases = db.Column(db.String(255), nullable=False) - cumulative_cases = db.Column(db.String(255), nullable=False) - new_deaths = db.Column(db.String(255), nullable=False) - cumulative_deaths = db.Column(db.String(255), nullable=False) - row_imported = db.Column(db.Boolean, nullable=False) + datum = db.Column(db.String(255), nullable=False) + dosen_kumulativ = db.Column(db.Integer, nullable=False) + dosen_differenz_zum_vortag = db.Column(db.Integer, nullable=False) + dosen_biontech_kumulativ = db.Column(db.Integer, nullable=False) + dosen_moderna_kumulativ = db.Column(db.Integer, nullable=False) + personen_erst_kumulativ = db.Column(db.Integer, nullable=False) + personen_voll_kumulativ = db.Column(db.Integer, nullable=False) + impf_quote_erst = db.Column(db.Float, nullable=False) + impf_quote_voll = db.Column(db.Float, nullable=False) + indikation_alter_dosen = db.Column(db.Integer, nullable=False) + indikation_beruf_dosen = db.Column(db.Integer, nullable=False) + indikation_medizinisch_dosen = db.Column(db.Integer, nullable=False) + indikation_pflegeheim_dosen = db.Column(db.Integer, nullable=False) + indikation_alter_erst = db.Column(db.Integer, nullable=False) + indikation_beruf_erst = db.Column(db.Integer, nullable=False) + indikation_medizinisch_erst = db.Column(db.Integer, nullable=False) + indikation_pflegeheim_erst = db.Column(db.Integer, nullable=False) + indikation_alter_voll = db.Column(db.Integer, nullable=False) + indikation_beruf_voll = db.Column(db.Integer, nullable=False) + indikation_medizinisch_voll = db.Column(db.Integer, nullable=False) + indikation_pflegeheim_voll = db.Column(db.Integer, nullable=False) + row_imported = db.Column(db.Boolean, nullable=False, default=False) @classmethod def remove_all(cls): @@ -241,18 +254,6 @@ class VaccinationDataImportTable(db.Model): def get_by_id(cls, other_id): return db.session.query(cls).filter(cls.id == other_id).one() - @classmethod - def get_regions(cls): - return db.session.query(cls.who_region).distinct() - - @classmethod - def get_dates_reported(cls): - return db.session.query(cls.date_reported).distinct() - - @classmethod - def get_for_one_day(cls, day): - return db.session.query(cls).filter(cls.date_reported == day).all() - @classmethod def get_new_dates_as_array(cls): sql_query = """ diff --git a/org/woehlke/covid19/vaccination/vaccination_service.py b/org/woehlke/covid19/vaccination/vaccination_service.py index b3b752aa2baca4f4deca22fe4e844ac6d06a9a1d..6e76b7a4af4c82169bdf33271c2585b7fe95e698 100644 --- a/org/woehlke/covid19/vaccination/vaccination_service.py +++ b/org/woehlke/covid19/vaccination/vaccination_service.py @@ -58,8 +58,8 @@ class VaccinationService: def run_update_initial(self, import_file=True): app.logger.info(" run update initial [begin]") app.logger.info("------------------------------------------------------------") - #if import_file: - # self.vaccination_service_import.import_file() + if import_file: + self.vaccination_service_import.import_file() #self.vaccination_service_update.update_db_initial() app.logger.info("") app.logger.info(" run update initial [done]") diff --git a/org/woehlke/covid19/vaccination/vaccination_service_import.py b/org/woehlke/covid19/vaccination/vaccination_service_import.py index 21d44747b870551031898477b80fd93084bcb785..1332840de00582a0a97acfe72356769933dadc11 100644 --- a/org/woehlke/covid19/vaccination/vaccination_service_import.py +++ b/org/woehlke/covid19/vaccination/vaccination_service_import.py @@ -37,18 +37,31 @@ class VaccinationServiceImport: try: VaccinationDataImportTable.remove_all() with open(self.__src_cvsfile_name, newline='\n') as csv_file: - file_reader = csv.DictReader(csv_file, delimiter=',', quotechar='"') + file_reader = csv.DictReader(csv_file, delimiter='\t', quotechar='"') k = 0 for row in file_reader: o = VaccinationDataImportTable( - date_reported=row[keyDate_reported], - country_code=row['Country_code'], - country=row['Country'], - who_region=row['WHO_region'], - new_cases=row['New_cases'], - cumulative_cases=row['Cumulative_cases'], - new_deaths=row['New_deaths'], - cumulative_deaths=row['Cumulative_deaths'], + datum=row['datum'], + dosen_kumulativ=int(row['dosen_kumulativ']), + dosen_differenz_zum_vortag=int(row['dosen_differenz_zum_vortag']), + dosen_biontech_kumulativ=int(row['dosen_biontech_kumulativ']), + dosen_moderna_kumulativ=int(row['dosen_moderna_kumulativ']), + personen_erst_kumulativ=int(row['personen_erst_kumulativ']), + personen_voll_kumulativ=int(row['personen_voll_kumulativ']), + impf_quote_erst=float(row['impf_quote_erst']), + impf_quote_voll=float(row['impf_quote_voll']), + indikation_alter_dosen=int(row['indikation_alter_dosen']), + indikation_beruf_dosen=int(row['indikation_beruf_dosen']), + indikation_medizinisch_dosen=int(row['indikation_medizinisch_dosen']), + indikation_pflegeheim_dosen=int(row['indikation_pflegeheim_dosen']), + indikation_alter_erst=int(row['indikation_alter_erst']), + indikation_beruf_erst=int(row['indikation_beruf_erst']), + indikation_medizinisch_erst=int(row['indikation_medizinisch_erst']), + indikation_pflegeheim_erst=int(row['indikation_pflegeheim_erst']), + indikation_alter_voll=int(row['indikation_alter_voll']), + indikation_beruf_voll=int(row['indikation_beruf_voll']), + indikation_medizinisch_voll=int(row['indikation_medizinisch_voll']), + indikation_pflegeheim_voll=int(row['indikation_pflegeheim_voll']), row_imported=False ) db.session.add(o)