#python #django #pandas #csv
Вопрос:
Я пытаюсь работать с файлами csv, расположенными внутри приложения django. Я пытаюсь загрузить файл с помощью панд, например: pd.read_csv("...")
безуспешно, я продолжаю получать сообщение об ошибке.
Вот как выглядит дерево каталогов:
├── __pycache__ │ ├── forms.cpython-36.pyc │ ├── models.cpython-36.pyc │ ├── views.cpython-36.pyc │ └── urls.cpython-36.pyc ├── apps.py ├── files │ ├── t1.csv │ ├── t2.csv │ ├── t3.csv │ ├── t4.csv │ └── parametre.csv ├── finished_apps.py ├── forms.py ├── migrations │ ├── 0001_initial.py │ ├── __init__.py │ └── __pycache__ │ ├── 0001_initial.cpython-36.pyc │ ├── 0002_remove_carriers_carriersheet.cpython-36.pyc │ ├── 0003_auto_20211021_1200.cpython-36.pyc │ ├── 0004_auto_20211021_1203.cpython-36.pyc │ └── __init__.cpython-36.pyc ├── models.py ├── views.py ├── templates │ ├── add_carrier.html │ ├── base.html │ ├── delete_carrier.html │ ├── delete_carrier_confirmation.html │ ├── _carrierdetails.html │ ├── _carrierlist.html │ ├── simulation.html │ └── update_carrier.html └── urls.py
Я попробовал следующее внутри views.py
df = pd.read_csv("/files/t1.csv") #not working df = pd.read_csv("./files/t1.csv") #not working df = pd.read_csv("t1.csv") #not working df = pd.read_csv("../files/t1.csv") #not working
Я тоже пытался это сделать:
from files import t1
ошибки, которые я получаю, являются таковыми:
No such file or directory (/file/t1.csv) #for example
cannot import name 't1'
это тоже не работает.
Теперь мне интересно, можно ли импортировать файл таким образом, или я упускаю что-то очевидное здесь!
Комментарии:
1. Можете ли вы указать полученную ошибку?
2.
df = pd.read_csv("carrier/files/t1.csv")
еслиcarrier
это имя вашего приложения3. к сожалению, это не делает трюк
Ответ №1:
Найдите путь к views.py из __file__
переменной и используйте ее, чтобы найти путь к вашему CSV:
import os import pandas as pd path = os.path.join(os.path.dirname(__file__), 'files/t1.csv') df = pd.read_csv(path)