Sto caricando una grande quantità di dati (2000 file con circa 30.000 righe, 30 colonne) da utilizzare in un'applicazione Django.
I file sono basati su 40 modelli diversi. I nomi delle colonne sono coerenti all'interno dei modelli ma non tra i modelli. Abbiamo mappato manualmente le colonne ai nomi canonici per i campi attualmente in uso e stiamo pianificando di archiviare il resto, non mappato in json per un potenziale utilizzo futuro. Ad esempio, in un modello, il prezzo dell'articolo può essere chiamato price_per_unit
e in un altro, si chiamerebbe the_unit_price
e dovremmo mappare entrambi a unit_price
.
Il nostro attuale processo è caricare i file Excel nel campo json di Postgres (inserimento di massa con Django) e da lì in Panda per normalizzare le colonne e poi in un paio di tabelle di database di Posgres (una tabella ha la data e item_id, l'altra la tabella descrive l'articolo).
Uso l'inserto di massa di Django ma, poiché lo sto utilizzando, creo elementi duplicati che dovrò tornare indietro e rimuovere. Non utilizzare l'inserimento di massa e l'inserimento riga per riga (per garantire che non crei duplicati mentre procedo) richiede troppo tempo in Django (oltre 5 minuti per file).
Devo continuare a ripulire i duplicati in seguito? Sono preoccupato che si ridimensionerà in base alla dimensione complessiva del nostro database, quindi funziona per ora ma potrebbe non funzionare più tardi.