Python gibt einen Fehler aus, dass eine Datei nicht vorhanden ist, wenn dies eindeutig der Fall ist


Seankala

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.txteingeschlossen. 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.

Mönch

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, pathlibda dies die Handhabung von Dateipfaden etwas erleichtert. (und Pandas unterstützt das Akzeptieren eines PathObjekts)

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))

Verwandte Artikel


IndexOutOfRange, wenn dies eindeutig nicht der Fall ist

Greg Entschuldigung, der Titel beschreibt das Problem nicht wirklich, aber es ist sehr seltsam. Um sicherzustellen, dass ich keine idiotischen Fehler gemacht habe, verwende ich Haltepunkte, um alles zu verfolgen, was passiert ist. Grundsätzlich habe ich diesen