J'ai un projet d'informatique scientifique pour lequel j'exécute une analyse et souhaite que certaines données soient conservées avec le module python. J'aimerais que les données soient «importables» pour être utilisées dans quelques exemples.Importer des données csv stockées dans un module python
La hiérarchie des dossiers de projet ressemble à ceci:
~/parent/
setup.py
setupegg.py
/project
__init__.py
core.py
/data
__init__.py
load_data.py
somedata.csv
/examples
__init__.py
ex1.py
J'ai couru python setupegg.py develop
à partir du dossier d'accueil du projet si ce paquet est importable partout sur mon ordinateur. Cela fonctionne jusqu'à présent.
Le fichier load_data.py
ressemble à ceci:
import pandas as pd
df = pd.read_csv("somedata.csv")
Et le fichier ex1.py
ressemble à ceci:
from test_module.data.load_data import df
def run():
print df
Mais maintenant, quand je lance from project.examples import ex1
ou from project.data import load_data
Je reçois un message IOError disant « de somedata. csv 'n'existe pas.
Si j'ajoute ceci au préambule des données/fichier load_data.py
import os
print os.listdir('./')
Il imprime la liste des fichiers/dossier dans le répertoire que je travaille à partir.
Bien sûr, si j'utilise des chemins d'accès absolus aux données, alors il se chargera parfaitement. Comment puis-je ajuster les instructions d'importation afin que la lecture des fichiers csv dans le dossier de données n'utilise pas de chemins d'accès absolus?