Come posso leggere in un file .csv con i caratteri speciali in esso in panda?
Domanda
Sto cercando di leggere in un file .csv contenente alcuni dati. Ho solo bisogno di leggere in blocchi specifici di righe dal file, come ad esempio la linea 15- linea 20, la linea 45 linea 50, e così via. Tuttavia, il file contiene testo e la copia informazioni scrivere come, ad esempio ©1990-2016 AAR,All rights reserved
in più punti. Tali linee sembrano produrre la ValueError: No columns to parse from file
errore, perché quando basta copiare righe senza tali informazioni utilizzando pd.read_csv()
, funziona benissimo. Il mio obiettivo è quello di automatizzare il processo di download di questi file dal web e la loro lettura in panda a pezzi della gru a benna di righe e poi fare un po 'di elaborazione con esso, quindi non posso solo specificare manualmente le finestre di testo privo di tali caratteri.
Ecco cosa ho provato: pd.read_csv("filename.csv",encoding=utf-8, skiprows = 14)
e pd.read_csv("filename.csv",encoding=utf-16, skiprows = 15)
, dopo aver guardato risposte simili in cambio pila, ma questo non ha funzionato. Qualcuno può darmi qualche indicazione su questo?
Soluzione
C'è comando df.drop
che può essere utilizzato nel modo seguente per eliminare alcune righe (in questo caso, 15 e 16):
df.drop(df.index[[15,16]])
Se le righe non ti servono sono regolari (ad esempio, non è mai necessario remate 15), allora questa è una soluzione rapida e sporca.
Se si desidera solo abbandonare le righe arbitrarie che contiene un certo valore, questo dovrebbe fare il trucco:
df = df.drop([df.column_name == ©1990-2016 AAR])