Python gibt einen Fehler aus, dass eine Datei nicht vorhanden ist, wenn dies eindeutig der Fall ist
Ich versuche derzeit, einige Textdateien als Pandas DataFrames einzulesen, und das Programm gibt immer wieder den Fehler aus, dass die Datei nicht vorhanden ist.
Der Code, den ich geschrieben habe, ist:
import os
import pandas as pd
cwd = os.getcwd()
path1 = os.path.join(cwd, 'sub1/sub2/sub3')
path2 = os.path.join(cwd, 'sub1/sub2/sub3')
files = []
for f in list(os.listdir(path1)):
files.append(pd.read_csv(f))
Wenn ich diesen Code ausführe, erhalte ich Folgendes:
FileNotFoundError: [Errno 2] File b'text_file.txt' does not exist: b'text_file.txt'
Das ist ziemlich verwirrend, denn wenn ich laufe, os.listdir(path1)
bekomme ich einen Namen aller Dateien mit text_file.txt
eingeschlossen. Außerdem habe ich festgestellt, dass das Programm problemlos ausgeführt wird, wenn ich in das Verzeichnis gehe, in dem sich die Textdatei befindet.
Gibt es etwas, das ich grundsätzlich falsch mache? Vielen Dank.
Sie müssen sich dem Pfad anschließen, da allein der Dateiname davon ausgeht, dass er relativ zu Ihrem CWD ist.
files = []
for f in list(os.listdir(path1)):
fullpath = os.path.join(path1, f)
files.append(pd.read_csv(fullpath))
Trotzdem würde ich die Verwendung empfehlen, pathlib
da dies die Handhabung von Dateipfaden etwas erleichtert. (und Pandas unterstützt das Akzeptieren eines Path
Objekts)
from pathlib import Path
import pandas as pd
path1 = Path(__file__).parent / 'sub1' / 'sub2' / 'sub3'
files = []
for f in path.glob('*'):
files.append(pd.read_csv(f))