Ich versuche, eine CSV-Datei in Python (Spyder) einzulesen, erhalte aber immer wieder eine Fehlermeldung. Mein Code:
import csv
data = open("C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener")
data = csv.reader(data)
print(data)
Ich erhalte folgenden Fehler:
SyntaxError: (Unicode-Fehler) 'Unicodeescape'-Codec kann keine Bytes an Position 2-3 dekodieren:\UXXXXXXXX-Escape abgeschnitten
Ich habe versucht, das\mit\oder mit/zu ersetzen, und ich habe versucht, vor "C .. ein r zu setzen, aber all diese Dinge haben nicht funktioniert.
Dieser Fehler tritt auf, weil Sie eine normale Zeichenfolge als Pfad verwenden. Sie können eine der folgenden Lösungen verwenden, um Ihr Problem zu beheben.
r
vor Ihre normale Zeichenfolge, um die normale Zeichenfolge in eine unformatierte Zeichenfolge umzuwandeln: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")
Der erste Backslash in Ihrer Zeichenfolge wird als Sonderzeichen interpretiert, da ihm ein "U" folgt und er als Beginn eines Unicode-Codepunkts interpretiert wird.
Um dies zu beheben, müssen Sie die umgekehrten Schrägstriche in der Zeichenfolge maskieren. Ich kenne Python nicht speziell, aber ich würde vermuten, dass Sie es tun, indem Sie die Backslashes verdoppeln:
data = open("C:\\Users\\miche\\Documents\\school\\jaar2\\MIK\\2.6\\vektis_agb_zorgverlener")
Sie können einfach r
vor den String mit Ihrem tatsächlichen Pfad setzen, der einen Roh-String kennzeichnet. Zum Beispiel:
data = open(r"C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener")
Versuchen Sie, den Dateipfad als "C:\\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener"
zu schreiben, d. H. Mit doppeltem Backslash nach dem Laufwerk im Gegensatz zu "C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener"
.
betrachten Sie es als eine rohe Zeichenfolge. Füge einfach r vor deinem Windows-Pfad hinzu.
import csv data = open(r"C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener") data = csv.reader(data) print(data)
Gemäß String-Literale :
String-Literale können in einfache Anführungszeichen (dh
'...'
) oder doppelte Anführungszeichen (dh"..."
). Sie können auch in übereinstimmende Gruppen von drei einfachen oder doppelten Anführungszeichen eingeschlossen werden (diese werden im Allgemeinen als dreifach zitierte Zeichenfolgen bezeichnet).Das Backslash-Zeichen (d. H.
\
) wird verwendet, um Zeichen zu maskieren, die ansonsten eine besondere Bedeutung haben, z. B. Zeilenumbruch, Backslash selbst oder das Anführungszeichen. String-Literalen kann optional der Buchstaber
oderR
vorangestellt werden. Solche Zeichenfolgen werden als Rohzeichenfolgen bezeichnet und verwenden unterschiedliche Regeln für umgekehrte Escape-Sequenzen.In Strings mit dreifachen Anführungszeichen sind Zeilenumbrüche und Anführungszeichen zulässig, außer dass die drei Anführungszeichen in einer Reihe die Zeichenfolge beenden.
Sofern kein Präfix
r
oderR
vorhanden ist, werden Escape-Sequenzen in Zeichenfolgen nach Regeln interpretiert, die denen von Standard C ähneln.
Im Idealfall müssen Sie die Zeile ersetzen:
data = open("C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener")
Zu einem der folgenden Zeichen:
Verwenden von einfachen Präfixen und einfachen Anführungszeichen (d. H. '...'
):
data = open(r'C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener')
Verwenden von doppelten Anführungszeichen (d. H. "..."
) und Maskieren von Backslash-Zeichen (d. H. \
):
data = open("C:\\Users\\miche\\Documents\\school\\jaar2\\MIK\\2.6\\vektis_agb_zorgverlener")
Verwenden von Anführungszeichen (d. H. "..."
) und Schrägstrichen (d. H. /
):
data = open("C:/Users/miche/Documents/school/jaar2/MIK/2.6/vektis_agb_zorgverlener")
es funktionierte für mich, indem ich das '\' mit f = open neutralisierte ('F: \\ file.csv')
Einfach ein R voranstellen funktioniert gut.
z.B:
white = pd.read_csv(r"C:\Users\hydro\a.csv")
Das double\sollte für Windows funktionieren, aber Sie müssen sich noch um die Ordner kümmern, die Sie in Ihrem Pfad erwähnen. Alle (mit Ausnahme des Dateinamens) müssen vorhanden sein. Andernfalls erhalten Sie eine Fehlermeldung.