Esiste un modo standard per pulire i file di dati?

6

Avendo passato molto tempo a lavorare in aziende di software che si occupano di set di dati di dimensioni medio-grandi, ho visto che un punto debole nei loro processi è spesso la preparazione di file di dati per il caricamento nei database. Ad esempio, la ricerca di errori di formattazione, spazi bianchi particolari o caratteri di fine riga, discussioni con formati Unicode, questo genere di cose.

Tutti quelli che conosco hanno a che fare con questo in modo personalizzato perché i requisiti sono così vari e spesso unici per le aziende coinvolte.

Di solito mi diverto solo in una combinazione di editor esadecimali, Excel, PowerShell e SQL per portare a termine il lavoro. Ma questo è un problema così perenne che trovo difficile credere che non ci siano già alcuni standard per prendere parte al lavoro di base del processo.

Esiste una tecnica standard su misura per la pulizia dei file di dati?

    
posta Matt Thrower 20.06.2014 - 12:23
fonte

1 risposta

1

Questo è quello che sono stati progettati per fare Schemi XML , anche se specificamente per i file XML. La tecnica generale è facilmente replicabile, però.

  1. Data la necessità di dati di forma , scrivi prima un file che definisce forma che puoi fornire ai tuoi utenti e aspettati che i loro computer capiscano.

  2. Quando hai bisogno di chiedere a qualcuno un file di forma , dai loro detta definizione.

  3. Una volta riavviato il file, prima di eseguire qualsiasi altra operazione, esegui lo strumento appropriato per assicurarti che soddisfi i requisiti.

Comincio con gli schemi XML perché ci sono diversi schemi tra cui scegliere, molti dei quali sono standard aperti o liberamente disponibili. La maggior parte degli strumenti che hai citato possono allegare un file XSD a un documento XML, ed entrambi determinano se il file è valido o meno e specificano in che modo il file non lo è.

Se non vuoi utilizzare XML, lo stesso processo di base può essere applicato a qualsiasi forma di dati.

  • Se si tratta di un file di database relazionale, scrivi alcuni comandi CREATE SCHEMA / CREATE TABLE .
  • Per un file flat come un file CSV o "testo" delimitato da spazi, puoi scrivere un'espressione RegEx che definisce ogni riga.
  • Un formato di dati più complesso (JSON o YAML) può avere la propria funzionalità di schema oppure è possibile scrivere un semplice script di test per analizzare e valutare il file.
  • Se raccogli dati più o meno combinati manualmente, invia un documento di esempio. Un Microsoft Access vuoto sarebbe appropriato se i tuoi utenti fossero tutti nel mondo Windows.
risposta data 20.06.2014 - 14:55
fonte

Leggi altre domande sui tag