Я пытаюсь прочитать csv-файл в директории одного и того же человека в Pandas DataFrame.Путь к файлу моего CSV-файла хранится в виде метаданных в коллекции MongoDB, к которой я обращаюсь через pymongo
.Я могу успешно извлечь свои метаданные и путь к файлу, однако, когда я пытаюсь прочитать мой CSV-файл в Pandas DataFrame, я постоянно получаю FileNotFoundError
.
Структура моей таблицы метаданных:
{
"_id" : ObjectId("5ce5df4ab21569c0948ddb74"),
"DataExtractName" : "DataExtract"
"SourceDataLocation" : "../sibling_directory/data.csv",
"DataFrameType" : "pandas"
}
Моя функция извлечения метаданных:
def get_meta_data(DataExtractName):
mongo_client = pymongo.MongoClient('mongodb://localhost:27017')
df_meta = mongo_client['DBName']['CollectionName'].find_one({'DataExtractName': DataExtractName})
return df_meta
Мой код для чтения моего csv-файла в pandas DataFrame:
df_metadata = get_meta_data('DataExtract')
DataFileLocation = df_metadata['SourceDataLocation']
df = pd.read_csv(DataFileLocation)
Ошибка и частичная трассировка стека, которую я получаю:
df = pd.read_csv(DataFileLocation)
File "/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 702, in parser_f
return _read(filepath_or_buffer, kwds)
File "/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 429, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 895, in __init__
self._make_engine(self.engine)
File "/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 1122, in _make_engine
self._engine = CParserWrapper(self.f, **self.options)
File "/anaconda3/lib/python3.7/site-packages/pandas/io/parsers.py", line 1853, in __init__
self._reader = parsers.TextReader(src, **kwds)
File "pandas/_libs/parsers.pyx", line 387, in pandas._libs.parsers.TextReader.__cinit__
File "pandas/_libs/parsers.pyx", line 705, in pandas._libs.parsers.TextReader._setup_parser_source
FileNotFoundError: [Errno 2] File b'../sibling_directory/data.csv' does not exist: b'../sibling_directory/data.csv'
Моя программа работает правильно при передаче в абсолютном пути к файлу, однако использование абсолютного пути создаст для меня дополнительные проблемы, и поэтомуя не нашел альтернативы.
Я сослался на этот вопрос о помощи и пытался передать мой путь к файлу как строковый литерал, но моя проблема все еще сохраняется.