Utilizzi il formato JSON quando necessita dei dati delle transazioni all'interno di uno script o di una pipeline di dati, preservando al contempo i metadati del conto dell'estratto conto. Il nostro file JSON scaricabile è un oggetto unico che include metadati e un array di transazioni. Non si tratta di un semplice elenco di righe né di un file JSON a righe separate (JSONL).
Scaricare l'estratto conto strutturato
- Apra lo strumento da PDF a JSON e carichi un PDF leggibile e non protetto da password fino a 25 MB.
- Selezioni Converti il mio estratto conto e attenda l'elaborazione.
- Apra Altri formati, quindi selezioni JSON nella sezione Spreadsheet+.
- Salvi il file e confronti un campione di date e importi con il PDF originale.
Questa guida illustra la lettura di un file scaricato. L'esportazione in JSON non configura di per sé un'integrazione API pubblica né un flusso di caricamento automatizzato.
Comprendere la struttura dell'oggetto
| Field | Shape | Meaning |
|---|---|---|
| bankName, accountHolder, accountNumber | String o null | Metadati del conto estratti |
| currency | String o null | Valuta a livello di estratto conto |
| statementPeriod | Oggetto con from e to | Stringhe di data o null per ciascun intervallo |
| openingBalance, closingBalance | Number o null | Saldi dell'estratto conto estratti |
| transactions | Array | Righe contenenti date, description, debit, credit, balance |
| pageCount | Number | Numero di pagine del PDF registrato durante la conversione |
| validated | Boolean | Esito della verifica del saldo dell'applicazione |
| parserUsed | String | Identificatore del modulo di estrazione |
All'interno di ciascuna transazione, date e description sono stringhe; debit, credit e balance sono numeri o null. Il parser è configurato per produrre date in formato ISO, ma è opportuno convalidarle all'interno della propria integrazione. I numeri di conto sono identificatori: li mantenga come stringhe per preservare gli zeri iniziali. In questa esportazione non sono presenti i campi relativi alla categoria o all'ID originale della transazione bancaria.
Leggere l'array delle transazioni in Python
Per questo esempio, salvi il download come statement.json. Il modulo json di Python legge l'oggetto esterno; selezioni il campo transactions per ottenere le righe. L'uso di Decimal per i valori frazionari impedisce arrotondamenti imprevisti con virgola mobile binaria durante i propri calcoli. Consulti la documentazione di Python su JSON per maggiori dettagli su json.load e 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"])L'esempio legge e mostra i dati; non invia le transazioni a sistemi esterni. Se successivamente utilizza un dataframe, lo crei a partire dall'array delle transazioni e memorizzi i metadati dell'estratto conto separatamente. Leggere l'intero oggetto come se fosse una tabella piatta di transazioni finirebbe per combinare campi con strutture eterogenee.
Interpretare null e validated con attenzione
Null indica che un valore era assente o non disponibile. Non è intercambiabile con zero. L'assenza di un valore in debit è consueta per una riga di credito, ma l'assenza di un saldo iniziale richiede una gestione differente. Verifichi esplicitamente questi casi prima di procedere a calcoli di totali o importazioni.
Il flag validated verifica la presenza delle transazioni e di entrambi i saldi dell'estratto conto, quindi confronta la somma del saldo iniziale e dei crediti, al netto dei debiti, con il saldo finale applicando una tolleranza di 0,01. Non convalida ogni singola descrizione, data, identificatore di conto o saldo progressivo. Un valore false può indicare la mancanza di saldi o una discrepanza; un valore true non garantisce che ogni riga sia corretta.
Preparare i dati per un flusso di lavoro ripetibile
Verifichi le chiavi e i tipi previsti, la validità delle date, la valuta dell'estratto conto e il conto di riferimento prima di caricare le righe. Conservi un riferimento al file sorgente insieme ai record importati. L'esportazione non include ID di riga persistenti assegnati dalla banca; pertanto, strutturi una procedura autonoma di controllo dei duplicati anziché presumere che l'ordine delle righe sia univoco tra file differenti.
Per includere le categorie, scarichi la cartella di lavoro categorizzata separata. Per un file tabellare più semplice, consulti la guida su CSV.