1

Je voudrais copier un fichier dans la mémoire locale sur DSX afin que je puisse créer une image de données pandas en utilisant read_csv. Je ne veux pas utiliser l'option "insert to code" donnée, car cela suppose des en-têtes de colonne et ce n'est pas aussi joli à coder. Voici mon code:Comment accéder aux fichiers sur Bluemix Object Storage à partir de Python sur Data Science Experience?

import swiftclient 

IBM_Objectstorage_Connection = swiftclient.Connection(key=objStorCred['password'], 
                authurl=objStorCred['auth_url'], 
                auth_version='3', 
           os_options={"project_id": objStorCred['projectId'], 
              "user_id": objStorCred['userId'], 
              "region_name": objStorCred['region']}) 

x = IBM_Objectstorage_Connection.get_account() 

J'ai essayé les informations d'identification de l'administrateur de stockage d'objets et les informations d'identification du conteneur. Aucun travail. J'essaie de copier ce qui a été fait dans le tutoriel this, mais cela ne semble pas fonctionner. Voici mon erreur:

Authorization Failure. Authorization failed: The resource could not be found. (HTTP 404) 

Toute aide serait grandement appréciée!

+1

Avez-vous essayé l'extrait de code de ce didacticiel de la communauté: https://datascience.ibm.com/exchange/public/entry/view/07db16e78e1722931e27c074ebe343ae –

+0

Cela utilise la même logique de la fonctionnalité "insérer dans le code" . Je voudrais y accéder de la même manière que le [ce tutoriel] (https://developer.ibm.com/recipes/tutorials/using-ibm-object-storage-in-bluemix-with-python/) y accéder . –

Répondre

2

Avez-vous jetez un oeil à la méthode get_file_content(credentials) mentionné dans le cahier suivant:

https://apsportal.ibm.com/analytics/notebooks/461e1a46-243c-4264-98fb-653884ed27f5/view?access_token=e5eb80cb75eae7e2d8ac4306eece1d1345a6c59a180eb284fb79aa04d3ccb7fe

content_string = get_file_content(credentials_1) 
precipitation_df = pd.read_csv(content_string) 

Je l'ai utilisé plusieurs fois avant. J'espère que cela t'aides.

+0

J'ai fini par utiliser cette solution, mais parce que le csv n'a pas d'en-têtes, je perds une des lignes et je dois écraser les en-têtes. La solution que je recherchais était la possibilité de télécharger depuis le stockage d'objets, puis d'utiliser read_csv sur la copie locale. –

+0

Donc, en utilisant (header = None) pour read_csv() n'a pas aidé? – RajeshK

+0

Je n'ai pas remarqué. Cela m'a aidé! Je vous remercie! Ce n'était pas exactement ce que je demandais, mais c'était un moyen d'arriver à ce que je voulais. Je marquerai ceci comme étant répondu. –