it-swarm.com.de

pandas.read_csv-Datei trotz korrektem Pfad mit Rohtext nicht gefunden

Ich versuche, eine .csv-Datei mit der pd.read_csv()-Funktion zu laden, wenn ein Fehler angezeigt wird, obwohl der Dateipfad korrekt ist und rohe Zeichenfolgen verwendet.

import pandas as pd
df = pd.read_csv('‪C:\\Users\\user\\Desktop\\datafile.csv')
df = pd.read_csv(r'‪C:\Users\user\Desktop\datafile.csv')
df = pd.read_csv('C:/Users/user/Desktop/datafile.csv')

alle geben den folgenden Fehler an:

FileNotFoundError: Datei b '\ xe2\x80\xaaC: /Users/user/Desktop/tutorial.csv' (oder der entsprechende Pfad) ist nicht vorhanden.

Nur wenn ich die Datei in das Arbeitsverzeichnis kopiere, wird sie korrekt geladen. 

Weiß jemand, was den Fehler verursachen könnte? 

Ich hatte zuvor andere Datasets ohne Probleme mit vollständigen Dateipfaden geladen, und ich habe derzeit nur Probleme, seit ich meinen Python (über das Anaconda-Paketinstallationsprogramm) neu installiert habe.


Bearbeiten :
Ich habe das Problem gefunden, das das Problem verursacht hat.
Als ich den Dateipfad aus dem Dateieigenschaftsfenster kopierte, kopierte ich unwissentlich ein anderes Zeichen, das unsichtbar erscheint.
Das Zuweisen dieser kopierten string führt ebenfalls zu einem Unicode-Fehler. 

Das Löschen dieses unsichtbaren Zeichens hat dazu geführt, dass der obige Code funktioniert.

8
Impuls3H

Versuchen Sie es und sehen Sie, ob es funktioniert. Dies ist unabhängig von dem von Ihnen angegebenen Pfad.

pd.read_csv(r'C:\Users\aiLab\Desktop\example.csv')

Hier ist r ein Sonderzeichen und bedeutet Wagenrücklauf. So voranstellen Sie es Ihrem String-Literal.

14
WaterRocket8236

Ich weiß, dass das Folgende ein dummer Fehler ist, aber es könnte das Problem mit Ihrer Datei sein.

Ich habe die Datei manuell von adfa123 in abc.csv umbenannt. Die Erweiterung der Datei wurde ausgeblendet. Nach dem Umbenennen wurde der tatsächliche Dateiname abc.csv.csv. Ich habe dann das extra .csv aus dem Namen entfernt und alles war in Ordnung.

Hoffe, es könnte jemand anderem helfen.

2
Waqar Khan

$ 10 gibt an, dass der Dateipfad in Bezug auf den Speicherort der PY-Datei korrekt ist, aber nicht korrekt in Bezug auf den Speicherort, von dem aus Sie Python aufrufen

Angenommen, script.py befindet sich in ~/script/und file.csv in ~ /. Nehmen wir an, script.py enthält

import pandas
df = pandas.read_csv('../file.csv') # correct path from ~/script/ where script.py resides

Wenn Sie von ~/aus python script/script.py ausführen, wird der FileNotFound-Fehler angezeigt. Wenn Sie jedoch von ~/script/aus python script.py ausführen, wird es funktionieren.

2
hertopnerd

Auf Windows-Systemen sollten Sie es mit os.path.normcase Versuchen.

Normalisiert den Fall eines Pfadnamens. Unter Unix und Mac OS X wird der Pfad unverändert zurückgegeben. Auf Dateisystemen, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird, wird der Pfad in Kleinbuchstaben konvertiert. Unter Windows werden außerdem Schrägstriche in umgekehrte Schrägstriche konvertiert. Erhöhen Sie einen TypeError, wenn der Pfadtyp nicht str oder bytes ist (direkt oder indirekt über die os.PathLike-Schnittstelle).

import os
import pandas as pd

script_dir = os.getcwd()
file = 'example_file.csv'
data = pd.read_csv(os.path.normcase(os.path.join(script_dir, file)))
2
Radmar

Wenn Sie Windows-Computer verwenden. Überprüfen Sie die Dateierweiterung. Es besteht eine hohe Wahrscheinlichkeit, dass die Datei als fileName.csv.txt statt als fileName.csv gespeichert wird. Sie können dies überprüfen, indem Sie das Kontrollkästchen Dateinamenerweiterung unter den Ordneroptionen aktivieren (siehe Screenshot).

der folgende Code hat für mich funktioniert:

import pandas as pd
df = pd.read_csv(r"C:\Users\vj_sr\Desktop\VJS\PyLearn\DataFiles\weather_data.csv");

Wenn fileName.csv.txt , benennen Sie es um/korrigieren Sie es zu fileName.csv

Windows 10 Screenshot

Hoffe es funktioniert, viel Glück

2
vj sreenivasan
import pandas as pd

path1 = 'C:\\Users\\Dell\\Desktop\\Data\\Train_SU63ISt.csv'
path2 = 'C:\\Users\\Dell\\Desktop\\Data\\Test_0qrQsBZ.csv'

df1 = pd.read_csv(path1)
df2 = pd.read_csv(path2)

print(df1)
print(df2)
1
Arjun Sanchala

Es gibt ein weiteres Problem beim Löschen der unsichtbar erscheinenden Zeichen.

Meine Lösung ist das Kopieren des Dateipfads aus den Dateifenstern anstelle der Eigenschaftenfenster.

Das ist kein Problem, außer dass Sie den Dateipfad erfüllen sollten.

1
Dee Lee

Erlebte das gleiche Problem. Pfad war korrekt. Das Ändern des Dateinamens scheint das Problem zu lösen.

Alter Dateiname: Saison 2017/2018 Premier League.csv Neuer Dateiname: test.csv

Möglicherweise die Leerzeichen oder "/"

1
Stefan Samba

Ich hatte das gleiche Problem beim Ausführen der Datei mit der von Visual Studio bereitgestellten interaktiven Funktionalität. Wurde auf die native Befehlszeile umgestellt und es hat bei mir funktioniert.

0
Patrick Mutuku

Ich habe versucht, die csv-Datei aus dem Ordner zu lesen, der sich in meinem Laufwerk 'c: \' befand, aber es wird der Fehler escape,type error, unicode...... als solcher ausgegeben. Dieser Code funktioniert jedoch Nehmen Sie einfach eine Variable und fügen Sie sie hinzu r, um es zu lesen.

rank = pd.read_csv (r'C:\Users\Dell\Desktop\datasets\iris.csv') 
df=pd.DataFrame(rank)
0
Rakesh

Verwenden Sie os.path.join, um den Dateipfad zu erstellen:

import os
f_path = os.path.join(*['C:', 'Users', 'user', 'Desktop', 'datafile.csv'])
df = pd.read_csv(f_path)
0
AlexG

Verwenden Sie statt pd.read_csv('yourDirectory\yourData.csv')pd.read_csv('yourDirectory//yourData.csv')

0
Arun

Für mein spezielles Problem lag der Fehler beim korrekten Laden der Datei an einem "unsichtbaren" Zeichen, das eingeführt wurde, als ich den Dateipfad von der Registerkarte "Sicherheit" der Dateieigenschaften in Windows kopierte.

Dieser Charakter ist e2 80 aa, die UTF-8-Codierung von U + 202A, dem Einbettungssymbol von links nach rechts. Wenn Sie das Zeichen gefunden haben (Zeichen ganz links in der Zeichenfolge), können Sie es einfach durch Löschen entfernen (Rücktaste drücken oder Löschen).

Hinweis: Ich habe mich für eine Antwort entschieden, da die Antworten hier nicht auf meine Frage zutreffen und ich glaube, dass einige Leute (wie in den Kommentaren zu sehen ist) die gleiche Situation haben wie ich. Es scheint auch immer wieder neue Antworten zu geben, da ich diese Frage nicht als gelöst markiert habe.

0
Impuls3H