4.7 Daten speichern
In diesem Kapitel lernen Sie, wie Sie Daten in Python dauerhaft speichern und verwalten können. Das Speichern von Daten ist ein grundlegender Bestandteil vieler Anwendungen, insbesondere wenn Informationen über längere Zeiträume hinweg verfügbar sein müssen. Wir werden uns mit verschiedenen Methoden des Speicherns von Daten befassen, angefangen von einfachen Textdateien bis hin zu komplexeren Datenformaten wie JSON.
Übersicht Daten speichern
Daten können in verschiedenen Formaten und auf unterschiedliche Arten gespeichert werden. Je nach Anwendungsfall können Sie einfache Textdateien verwenden, um Daten im Klartext zu speichern, oder komplexere Strukturen wie JSON, die sich gut für das Speichern von strukturierten Daten eignen.
Methode | Beschreibung |
---|---|
Textdateien | Speichert Daten im Klartext. Geeignet für einfache, unstrukturierte Daten. |
CSV-Dateien | Speichert tabellarische Daten im CSV-Format (Comma-Separated Values). |
JSON-Dateien | Speichert strukturierte Daten im JSON-Format (JavaScript Object Notation). |
Binäre Dateien | Speichert Daten in einem binären Format, das nicht direkt lesbar ist. |
Datenbanken (SQLite) | Verwaltet große Datenmengen strukturiert und bietet erweiterte Abfragemöglichkeiten. |
Spezifischere Anweisungen und Methoden
Diese Tabelle beschreibt spezifischere Anweisungen und Methoden, die im Zusammenhang mit dem Speichern von Daten in Python verwendet werden.
Anweisung/Methode | Beschreibung |
---|---|
open() |
Öffnet eine Datei zum Lesen ("r" ), Schreiben ("w" ), Anhängen ("a" ) oder als Binärdatei ("b" ). |
write() |
Schreibt Daten in eine geöffnete Datei. |
read() |
Liest Daten aus einer geöffneten Datei. |
json.dump() |
Schreibt ein Python-Objekt (z.B. Dictionary) in eine JSON-Datei. |
json.load() |
Liest Daten aus einer JSON-Datei und wandelt sie in ein Python-Objekt um. |
csv.writer() |
Schreibt Daten in eine CSV-Datei. |
csv.reader() |
Liest Daten aus einer CSV-Datei. |
wb |
Modus zum Öffnen einer Datei zum Schreiben im Binärformat. |
rb |
Modus zum Öffnen einer Datei zum Lesen im Binärformat. |
with |
Sorgt dafür, dass Dateien ordnungsgemäß geöffnet und geschlossen werden, auch wenn ein Fehler auftritt. |
Speichern in Textdateien
Eine der einfachsten Methoden, Daten zu speichern, ist die Verwendung von Textdateien. Textdateien sind besonders nützlich, wenn Sie einfache Daten speichern möchten, die keinen speziellen Formatierungsbedarf haben.
Beispiel: Schreiben und Lesen einer Textdatei
In diesem Beispiel wird eine Textdatei erstellt und eine einfache Nachricht darin gespeichert. Anschließend wird der Inhalt der Datei gelesen und auf der Konsole ausgegeben.
Schauen Sie nach: auf dem Pi Pico liegt nun eine Datei daten.txt.
Speichern in JSON-Dateien
JSON (JavaScript Object Notation) ist ein weit verbreitetes Format zum Speichern und Übertragen von strukturierten Daten. Es ist ideal für das Speichern von Daten, die in einem hierarchischen Format vorliegen, wie z.B. Dictionaries oder Listen.
Beispiel: Speichern und Laden von Daten im JSON-Format
In diesem Beispiel werden Daten in einer JSON-Datei gespeichert und anschließend wieder aus der Datei gelesen. JSON ist besonders nützlich, wenn Sie komplexere Datenstrukturen wie Dictionaries speichern möchten.
Speichern in CSV-Dateien (nicht in Micro-Python!)
CSV-Dateien (Comma-Separated Values) sind nützlich, um tabellarische Daten zu speichern. Jede Zeile einer CSV-Datei stellt eine Datenzeile dar, und die einzelnen Werte sind durch Kommas getrennt.
Folgendes Beispiel können wir in MicroPython nicht probieren, da es keine Bibliothek csv
gibt. Hier könnten wir eine "richtige" Python-Umgebung mit dem Editor "Visual Studio Code" verwenden.
Beispiel: Speichern und Lesen von Daten im CSV-Format
In diesem Beispiel werden tabellarische Daten in einer CSV-Datei gespeichert und anschließend wieder aus der Datei gelesen.
Pi Pico Script: Speichern von Sensordaten
In diesem Beispiel speichern wir Sensordaten, die vom BMP280-Sensor auf dem Pi Pico erfasst werden, in einer Textdatei.
In diesem Beispiel werden die Temperatur- und Luftdruckwerte zehnmal erfasst und in einer Textdatei gespeichert. Jede Zeile der Datei enthält die Messwerte für Temperatur und Luftdruck.
Aufgabe
Schreiben Sie ein Script, das die Sensordaten des BMP280-Sensors in einer JSON-Datei speichert und anschließend wieder ausliest. Speichern Sie mindestens drei verschiedene Messungen in der Datei.