import csv from datetime import datetime from database import Database from model.base import Base from model.current import CurrentWeather from model.forecast import ForecastWeather from model.historic import HistoricWeather DATA_PATH = "../data" DATABASE_URL = "sqlite:///weather.db" database = Database(DATABASE_URL) if __name__ == "__main__": database.drop_all(Base) database.create_all(Base) with open("./data/historic_data.csv", "r") as file: reader = csv.DictReader(file) for row in reader: entry = HistoricWeather( city=row["city"].lower(), date=datetime.strptime(row["date"], "%Y-%m-%d"), condition=row["condition"].lower(), humidity=float(row["humidity"]), temperature=float(row["temperature"]) ) database.session.add(entry) database.session.commit() with open("./data/current_data.csv", "r") as file: reader = csv.DictReader(file) for row in reader: entry = CurrentWeather( city=row["city"].lower(), condition=row["condition"].lower(), humidity=float(row["humidity"]), temperature=float(row["temperature"]), wind_speed=float(row["wind_speed"]) ) database.session.add(entry) database.session.commit() with open("./data/forecast_data.csv", "r") as file: reader = csv.DictReader(file) for row in reader: entry = ForecastWeather( city=row["city"].lower(), date=datetime.strptime(row["date"], "%Y-%m-%d"), day=row["day"].lower(), condition=row["condition"].lower(), humidity=float(row["humidity"]), temperature=float(row["temperature"]), ) database.session.add(entry) database.session.commit()