Domanda

Sto leggendo un file .csv creato in Excel con la prima riga come intestazioni di colonna. Un'intestazione di colonna contiene una nuova riga incorporata. Voglio ignorare quella nuova riga ma leggendola riga per riga come:

while ( <IN> ) { 
    ...
    }

lo tratterà come una nuova riga che spezzerà il mio codice (che non ho ancora scritto). Il mio approccio è stato quello di leggere la prima riga in una matrice di intestazioni di colonna ed elaborare il resto delle righe in modo diverso.

C'è forse una regex che posso usare da qualche parte nel mentre che ignora la nuova riga a meno che non sia l'ultima nuova riga?

O dovrei affrontarlo in modo diverso?

È stato utile?

Soluzione

Utilizza uno dei moduli Perl che gestiscono CSV, come Text :: CSV_XS . La sua documentazione mostra come gestire le nuove linee incorporate. In generale, non si vuole passare il tempo a scrivere un altro parser CSV; andare avanti con le parti più importanti del tuo compito!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top