Verwenden Sie JSON, wenn Sie Transaktionsdaten in einem Skript oder einer Datenpipeline benötigen und gleichzeitig die Kontometadaten des Auszugs beibehalten möchten. Unser JSON-Download ist ein einzelnes Objekt, das Metadaten und ein Array mit Transaktionen enthält. Es handelt sich nicht um eine einfache Liste von Zeilen oder eine zeilengetrennte JSON-Datei (NDJSON).
Herunterladen des strukturierten Auszugs
- Öffnen Sie das PDF-zu-JSON-Tool und laden Sie ein lesbares, unverschlüsseltes PDF von bis zu 25 MB hoch.
- Wählen Sie Meinen Kontoauszug konvertieren und warten Sie auf die Verarbeitung.
- Öffnen Sie Weitere Formate und wählen Sie JSON unter Spreadsheet+.
- Speichern Sie die Datei und vergleichen Sie eine Stichprobe ihrer Daten und Beträge mit dem Original-PDF.
Diese Anleitung behandelt das Einlesen einer heruntergeladenen Datei. Ein JSON-Export richtet für sich genommen weder eine öffentliche API-Integration noch einen automatisierten Upload-Workflow ein.
Die Objektstruktur verstehen
| Feld | Struktur | Bedeutung |
|---|---|---|
| bankName, accountHolder, accountNumber | String oder null | Extrahierte Kontometadaten |
| currency | String oder null | Währung auf Kontoauszugsebene |
| statementPeriod | Objekt mit from und to | Datumszeichenfolgen oder null für jede Begrenzung |
| openingBalance, closingBalance | Number oder null | Extrahierte Auszugssalden |
| transactions | Array | Zeilen mit date, description, debit, credit, balance |
| pageCount | Number | Während der Konvertierung erfasste PDF-Seitenzahl |
| validated | Boolean | Ergebnis des Saldenchecks der Anwendung |
| parserUsed | String | Kennung des Extraktions-Providers |
Innerhalb jeder Transaktion sind date und description Zeichenfolgen; debit, credit und balance sind Zahlen oder null. Der Parser ist auf ISO-Datumsformate ausgelegt, Ihre Integration sollte diese jedoch dennoch validieren. Kontonummern sind Identifikatoren: Behalten Sie diese als Strings bei, damit führende Nullen erhalten bleiben. Es gibt in diesem Export kein Feld für Kategorien oder die ursprüngliche Transaktions-ID der Bank.
Auslesen des Transaktions-Arrays in Python
Speichern Sie Ihren Download für dieses Beispiel als statement.json. Das json-Modul von Python liest das äußere Objekt ein; wählen Sie dessen Feld transactions aus, um die Zeilen zu erhalten. Die Verwendung von Decimal für Dezimalzahlen verhindert binäre Gleitkomma-Rundungsfehler bei Ihren eigenen Berechnungen. Siehe die Python-JSON-Dokumentation für json.load und parse_float.
python
import json
from decimal import Decimal
with open("statement.json", encoding="utf-8") as source:
statement = json.load(source, parse_float=Decimal)
rows = statement["transactions"]
if not isinstance(rows, list):
raise ValueError("Expected a transactions array")
print("Balance check:", statement["validated"])
for row in rows:
print(row["date"], row["description"], row["debit"], row["credit"])Das Beispiel liest und zeigt Daten an; es bucht Transaktionen nirgendwohin. Wenn Sie später einen DataFrame verwenden, erstellen Sie ihn aus dem Transaktions-Array und speichern Sie die Auszugs-Metadaten separat. Das Einlesen des gesamten Objekts, als wäre es eine flache Transaktionstabelle, vermischt Felder mit unterschiedlicher Struktur.
Null und validated sorgfältig interpretieren
Null bedeutet, dass ein Wert fehlte oder nicht verfügbar war. Es ist nicht austauschbar mit Null (0). Eine fehlende Soll-Buchung (Debit) ist bei einer Haben-Zeile normal, aber ein fehlender Anfangssaldo erfordert eine andere Entscheidung. Prüfen Sie diese Fälle vor Summierungen oder Importen explizit.
Das Flag validated prüft, ob Transaktionen und beide Auszugssalden vorhanden sind, und vergleicht dann Anfangssaldo plus Haben abzüglich Soll mit dem Endsaldo innerhalb einer Toleranz von 0.01. Es verifiziert nicht jede Beschreibung, jedes Datum, jeden Kontobezeichner oder jeden laufenden Saldo. Ein false-Wert kann auf fehlende Salden oder eine Abweichung hinweisen; ein true-Wert ist kein Beweis dafür, dass jede Zeile korrekt ist.
Daten für einen wiederholbaren Workflow vorbereiten
Prüfen Sie erwartete Schlüssel und Typen, die Gültigkeit des Datums, die Auszugswährung und das Konto, bevor Sie Zeilen laden. Speichern Sie eine Quelldatei-Referenz zusammen mit den importierten Datensätzen. Der Export enthält keine persistenten, von der Bank vergebenen Zeilen-IDs. Konzipieren Sie daher Ihre eigene Duplikatsprüfung, anstatt davon auszugehen, dass die Zeilenreihenfolge über Dateien hinweg eindeutig ist.
Für Kategorien laden Sie die separate kategorisierte Arbeitsmappe herunter. Für eine einfachere flache Datei folgen Sie der CSV-Anleitung.