#python #csv #object #bucket
#python #csv #объект #корзина
Вопрос:
Я новичок в Python и прохожу онлайн-вводный курс по Python для изучения данных. Мне нужно выполнить задание, которое казалось простым и шло достаточно хорошо почти до конца.
Пришлось просматривать статистику баскетбола по четырем игрокам, создавать словари, а затем фреймы данных для каждого и, наконец, сохранять, создавать URL-адрес для совместного использования и делиться этим URL-адресом с инструктором.
Я дошел до этого шага:
Чтобы загрузить ваш набор данных в корзину, мы будем использовать метод put_object
, вы должны присвоить имени параметра значение корзины, параметром Key
должно быть имя файла csv, а значение для тела параметра должно быть равно f.read()
.
Я изменил имя файла, играл с ним часами и все еще получаю различные ошибки. Я не могу ничего сохранить, чтобы поделиться, пока не исправлю это. Я работаю в Watson Studio. Вот где у меня есть настройка корзины. Вот куда нужно поместить объект. Класс заставляет нас работать в Jupyter notebook.
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.
Ответ №1:
Я прохожу тот же курс Coursera. Я думаю, что они неправильно написали «csv». Это html. Итак, вместо «[…] ключом параметра должно быть имя файла csv […]» они имели в виду html.
Ответ №2:
Попробуйте воссоздать свое ведро. Изначально я столкнулся с этой ошибкой, но создание нового межрегионального блока в us-geo
решило проблему