【发布时间】:2019-04-06 23:45:07
【问题描述】:
我是 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.
【问题讨论】: