Un mio amico deve leggere un sacco di dati (circa 18000 set di dati) che è tutto formattato in modo fastidioso. In particolare, i dati dovrebbero essere 8 colonne e ~ 8000 righe di dati, ma i dati vengono invece consegnati come colonne di 7 con l'ultima voce che si riversa nella prima colonna della riga successiva.Python: Come leggere un file di dati con un numero irregolare di colonne
Inoltre ogni ~ 30 righe ci sono solo 4 colonne. Questo perché alcuni programmi upstream stanno rimodellando un array 200 x 280 nell'array 7x8120.
La mia domanda è questa: come possiamo leggere i dati in un array 8x7000. Il mio solito arsenale di np.loadtxt e np.genfromtxt fallisce quando c'è un numero irregolare di colonne.
Tenere presente che le prestazioni sono un fattore in quanto ciò deve essere fatto per ~ 18000 file di dati.
Ecco un collegamento a un tipico file di dati: http://users-phys.au.dk/hha07/hk_L1.ref
Per chiarire: ogni 24 righe c'è una riga di 4 colonne a causa del continuo "traboccare" delle otto colonne in ogni riga successiva. Destra? Ogni blocco di 24 * 7 + 4 ha 200 elementi, che è equamente divisibile per 8. –
Un esempio sarebbe molto utile. –
Che ne dici di correggere il programma upstream per produrre file HDF5 belli, o almeno qualcosa di meno folle di questo? –