Что я делаю неправильно, загружая свой набор данных в ведро? - PullRequest
0 голосов
/ 07 апреля 2019

Я новичок в Python и беру интерактивный вводный класс по Python для Data Science.У меня есть задание на выполнение, которое казалось легким и шло достаточно хорошо до самого конца.

Пришлось просматривать веб-статистику баскетбола по четырем игрокам, создавать словари, а затем кадры данных для каждого и, наконец, сохранять, создавать URL-адрес для обмена и делиться этим URL с инструктором.

У меня естьдостиг этого шага:

Чтобы загрузить ваш набор данных в корзину, мы будем использовать метод put_object, вы должны установить имя параметра в имя корзины, параметр Key должен быть именемCSV-файл и значение параметра Body должны быть установлены на f.read().

Я изменил имя файла, играл с ним часами и по-прежнему получаю различные ошибки.Я не могу ничего сохранить, чтобы поделиться, пока я не исправлю это.Я работаю в Watson Studio.Вот где у меня есть настройки моего ведра.Вот где объект должен быть помещен.В этом классе мы работаем в записной книжке Jupyter.

resource.Bucket(name='cahill-pythonbasics-finalassignment').put_object(Key='lebron_james.csv', Body=f.read())

Мне нужно поместить объект в созданное мной ведро с именем "cahill-pythonbasics-finalassignment", но вместо этого я получаю ошибки.Совсем недавно следующее:

---------------------------------------------------------------------------
NoSuchKey                                 Traceback (most recent call last)
<ipython-input-391-bcdc2e3a317a> in <module>()
----> 1 resource.Bucket(name='cahill-pythonbasics-finalassignment').put_object(Key='lebron_james.csv', Body=f.read())

/opt/conda/envs/DSX-Python35/lib/python3.5/site-packages/ibm_boto3/resources/factory.py in do_action(self, *args, **kwargs)
    515             # instance via ``self``.
    516             def do_action(self, *args, **kwargs):
--> 517                 response = action(self, *args, **kwargs)
    518 
    519                 if hasattr(self, 'load'):

/opt/conda/envs/DSX-Python35/lib/python3.5/site-packages/ibm_boto3/resources/action.py in __call__(self, parent, *args, **kwargs)
     81                     operation_name, params)
     82 
---> 83         response = getattr(parent.meta.client, operation_name)(**params)
     84 
     85         logger.debug('Response: %r', response)

/opt/conda/envs/DSX-Python35/lib/python3.5/site-packages/ibm_botocore/client.py in _api_call(self, *args, **kwargs)
    251                     "%s() only accepts keyword arguments." % py_operation_name)
    252             # The "self" in this scope is referring to the BaseClient.
--> 253             return self._make_api_call(operation_name, kwargs)
    254 
    255         _api_call.__name__ = str(py_operation_name)

/opt/conda/envs/DSX-Python35/lib/python3.5/site-packages/ibm_botocore/client.py in _make_api_call(self, operation_name, api_params)
    541             error_code = parsed_response.get("Error", {}).get("Code")
    542             error_class = self.exceptions.from_code(error_code)
--> 543             raise error_class(parsed_response, operation_name)
    544         else:
    545             return parsed_response

NoSuchKey: An error occurred (NoSuchKey) when calling the PutObject operation: The specified key does not exist.

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Попробуйте воссоздать ваше ведро.Первоначально я столкнулся с этой ошибкой, но создание нового сегмента кросс-области в us-geo решило проблему

0 голосов
/ 12 апреля 2019

Я делаю тот же курс Coursera. Я думаю, что они неправильно "CSV". Это HTML. Таким образом, вместо «[...] параметр Key должен быть именем файла csv [...]», они имели в виду html.

...