Sto provando a leggere in un file csv con numpy.genfromtxt
ma alcuni campi sono stringhe che contengono virgole. Le stringhe sono tra virgolette, ma numpy non riconosce le virgolette come se definissero una singola stringa. Ad esempio, con i dati in 't.csv':Utilizzo di numpy.genfromtxt per leggere un file csv con stringhe contenenti virgole
2012, "Louisville KY", 3.5
2011, "Lexington, KY", 4.0
il codice
np.genfromtxt('t.csv', delimiter=',')
produce l'errore:
ValueError: Some errors were detected ! Line #2 (got 4 columns instead of 3)
La struttura dei dati che sto cercando è:
array([['2012', 'Louisville KY', '3.5'],
['2011', 'Lexington, KY', '4.0']],
dtype='|S13')
Osservando la documentazione, I non vedo alcuna opzione per affrontare questo. C'è un modo per farlo con Numpy, o devo solo leggere i dati con il modulo csv
e poi convertirlo in un array numpy?
potete inserire più del pieno csv, credo di sapere come risolvere il problema;) –
Si dovrebbe cambiare la vostra csv sostituendo il carattere separatore da ',' a ';' ad esempio ... –
@ SaulloCastro: Non posso farlo perché i miei dati reali sono molto più confusi e hanno delle stringhe con ';' e/o qualsiasi altro personaggio a cui puoi pensare - questo è solo un esempio di giocattolo. Quello che sto cercando è una soluzione più generale. – CraigO