2016-05-23 17 views
13

Sto provando a leggere un file csv in python (spyder) ma continuo a ricevere un errore. Il mio codice è il seguente:(errore unicode) il codec 'unicodeescape' non può decodificare i byte in posizione 2-3: troncato UXXXXXXXX escape

import csv 

data = open("C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener") 
data = csv.reader(data) 
print(data) 

ed ottengo il seguente errore:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

ho cercato di sostituire il \ con \ o/e ho cercato di porre R prima " C .. ma tutte queste cose non hanno funzionato Spero che qualcuno possa dirmi cosa devo fare .. Grazie in anticipo

+0

funziona questo aiuto: http://stackoverflow.com/questions/904041/reading-a-utf8-csv-file-with-python –

+3

Come hanno fatto le tue soluzioni alternative non funzionano? Mi aspetterei una stringa raw, o una stringa con '/' 's invece di '\\' per funzionare bene. – Blckknght

+0

quando uso doppie barre retroverse il programma dice che il file che voglio aprire non esiste. – Miesje

risposta

6

Il primo backslash nella stringa viene interpretato come un carattere speciale, infatti perché è seguito da una "U" viene interpretato come l'inizio di un punto di codice Unicode.

Per risolvere questo problema è necessario evitare i backslash nella stringa. Non so Python specificamente ma direi lo si fa con il raddoppio dei backslash:

data = open("C:\\Users\\miche\\Documents\\school\\jaar2\\MIK\\2.6\\vektis_agb_zorgverlener") 
+0

quando uso doppie barre retroverse il programma dice che il file che voglio aprire non esiste. – Miesje

+0

Sembra promettente in quanto significa che ora considera la stringa valida – thomasrutter

+0

. Quindi il prossimo problema è che il percorso del file non esiste. Hai omesso un'estensione di file, ad esempio 'vektis_agb_zorgverlener.txt'?Windows Explorer nasconderà le estensioni dei file da te in modo predefinito perché è stupido; puoi [aggiustarlo] (http://windows.microsoft.com/en-gb/windows/show-hide-file-name-extensions) però. – bobince

0

Per le persone che vogliono conoscere, non ha risolto il problema, ma ho trovato un modo intorno ad esso: DI apri il file manualmente

2

Puoi semplicemente inserire rdavanti a la stringa con il tuo percorso attuale, che denota una stringa non elaborata. Per esempio:

data = open(r"C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener") 
0

Il doppio \ dovrebbe funzionare per Windows, ma è ancora necessario per prendersi cura delle cartelle di cui parli nel tuo percorso. Tutti loro (eccetto il nome file) devono esistere. altrimenti otterrai un errore.

14

Questo errore si verifica perché si sta utilizzando una stringa normale come percorso. È possibile utilizzare una delle seguenti soluzioni per risolvere il problema.

  1. Basta mettere r prima della normale stringa converte normale corda a corda grezza:

pandas.read_csv(r"C:\Users\DeePak\Desktop\myac.csv")

2:

pandas.read_csv("C:/Users/DeePak/Desktop/myac.csv") 

3:

pandas.read_csv("C:\\Users\\DeePak\\Desktop\\myac.csv") 
1

Basta mettere un r di fronte funziona bene.

esempio:

white = pd.read_csv(r"C:\Users\hydro\a.csv") 
Problemi correlati