#Feinstaubprojekt Feinstaubprojekt zum Downloaden und speichern von Feinstaubdaten fรผr das Jahr 2022.
Get Started 1. You will need python 2. Install
matplotlib: matplotlib-3.10.1 pip install matplotlib
urllib3 2.3.0
รbersicht verwendeter Bibiotheken:
FeinstaubMyself/
โ
โโโ main.py # Einstiegspunkt der Anwendung
โโโ requirements.txt # Abhรคngigkeiten (falls vorhanden)
โ
โโโ modules/ # Hauptmodul, das alle logischen Komponenten enthรคlt
โ โโโ init.py # Ermรถglicht es, das modules-Verzeichnis als Modul zu behandeln
โ โโโ data_loader/ # Lade-Logik (z.B. CSV, DB)
โ โ โโโ init.py
โ โ โโโ download.py # CSV-Download
โ โ โโโ unzip.py # Entpacken der CSV-Dateien
โ โ โโโ write_csv_to_db.py # Schreiben der CSV-Daten in DB
โ โ โโโ create_db.py # Erstellen der Datenbank
โ โ
โ โโโ gui/ # GUI-Komponenten
โ โ โโโ init.py
โ โ โโโ feinstaub_gui.py # GUI mit Tkinter
โ โ โโโ get_data.py # Logik zum Abrufen von Daten fรผr die GUI
โ โ โโโ select_date.py # Datumsauswahl-Logik fรผr die GUI
โ โ
โ โโโ database/ # Datenbank-Interaktionen
โ โ โโโ init.py
โ โ โโโ db_connection.py # Verbindung zur DB
โ โ โโโ queries.py # SQL-Abfragen und DB-Logik
โ โ โโโ models.py # Definition von DB-Modellen (falls nรถtig)
โ โ
โ โโโ utils/ # Hilfsfunktionen und allgemeine Logik
โ โโโ init.py
โ โโโ input_validation.py # Validierung von Benutzereingaben
โ โโโ plot.py # Logik fรผr die Plots mit Matplotlib
โ
โโโ README.md # Dokumentation
| Bibliothek | Genutzte Funktionen / Klassen | Beschreibung |
|---|---|---|
os |
os.path.join, os.listdir, os.remove |
Datei- und Verzeichnisoperationen |
gzip |
gzip.open |
Entpacken von .gz-Dateien |
shutil |
shutil.move, shutil.unpack_archive (optional) |
Dateioperationen wie Verschieben oder Entpacken |
sqlite3 |
sqlite3.connect, cursor(), execute(), fetchall() |
Zugriff auf SQLite-Datenbank mit SQL |
datetime |
datetime.strptime, datetime.date, timedelta |
Verarbeitung von Datumsangaben |
csv |
csv.reader, next() |
Einlesen von CSV-Dateien |
pathlib |
Path, Path.exists() (optional) |
Objektorientierter Umgang mit Dateipfaden |
| Bibliothek | Genutzte Funktionen / Klassen | Beschreibung |
|---|---|---|
requests |
requests.get, response.content |
Herunterladen von Dateien รผber HTTP |
matplotlib.pyplot |
plot, show |
Visualisierung von Messdaten |
tkinter |
Tk, Label, Button, Entry, Canvas, mainloop |
GUI-Erstellung fรผr eine Desktop-Oberflรคche |
| Datei | Wichtige Funktionen | Aufgabe |
|---|---|---|
download.py |
download_file() |
Herunterladen von CSV-Dateien |
unzip.py |
unzip_files() |
Entpacken von .gz-Dateien |
write_csv_to_db.py |
insert_csv_data() |
CSV-Inhalte in SQLite-Datenbank einfรผgen |
read_all_data.py |
read_all() |
Gesamte Daten ausgeben |
print_data_db_dht22.py |
print_metrics_by_day() |
Ausgabe von Tageswerten nach Sensortyp |
display_dht22_metric.py |
getMAXfrom(), getMINfrom(), getAVGfrom() |
Berechnung von statistischen Werten |
create_db.py |
create_tables() |
Erstellt Tabellen via SQL |
delete_db.py |
delete_database() |
Lรถscht die Datenbankdatei |
(optional) utils.py |
inputDate() |
Eingabefunktion fรผr Datumsauswahl |