在 Jupyter 笔记本中使用 Python 从 github 导入数据

海中的老人。

我正在使用 Aurelien Geron 所著的“使用 scikit-learn 和 tensorflow 进行机器学习实践”一书。

这是我第一次使用 Jupyter 和 Python。

我正在尝试遵循以下代码。 在此处输入图片说明

我的问题是当我使用以下代码运行单元格时:

import os
import tarfile
import urllib
DOWNLOAD_ROOT = "https://raw.githubusercontent.com/ageron/handson-ml2/master/"
HOUSING_PATH = os.path.join("datasets", "housing")
HOUSING_URL = DOWNLOAD_ROOT + "datasets/housing/housing.tgz"
def fetch_housing_data(housing_url=HOUSING_URL, housing_path=HOUSING_PATH):
    os.makedirs(housing_path, exist_ok=True)
    tgz_path = os.path.join(housing_path, "housing.tgz")
    urllib.request.urlretrieve(housing_url, tgz_path)
    housing_tgz = tarfile.open(tgz_path)
    housing_tgz.extractall(path=housing_path)
    housing_tgz.close()

细胞评估永远不会结束,In[*]:永远不会变成像In[1]:.

所以,我认为这是初始 url 的问题,因为当我通过 Internet 浏览器访问它时显示错误。

因此,我将其更改为DOWNLOAD_ROOT = "https://github.com/ageron/handson-ml2/tree/master/".

现在我明白了In[1]:但是,当我运行时fetch_housing_data(),我得到:

---------------------------------------------------------------------------
ReadError                                 Traceback (most recent call last)
<ipython-input-6-bd66b1fe6daf> in <module>
----> 1 fetch_housing_data()

<ipython-input-5-ef3c39b342d8> in fetch_housing_data(housing_url, housing_path)
      9     tgz_path = os.path.join(housing_path, "housing.tgz")
     10     urllib.request.urlretrieve(housing_url, tgz_path)
---> 11     housing_tgz = tarfile.open(tgz_path)
     12     housing_tgz.extractall(path=housing_path)
     13     housing_tgz.close()

~\Anaconda3\lib\tarfile.py in open(cls, name, mode, fileobj, bufsize, **kwargs)
   1576                         fileobj.seek(saved_pos)
   1577                     continue
-> 1578             raise ReadError("file could not be opened successfully")
   1579 
   1580         elif ":" in mode:

ReadError: file could not be opened successfully

为什么会发生这种情况,我该如何解决?

韦恩

您是否重新启动了内核并尝试再次运行?
您所看到的无法重现。

您在上面粘贴的第一个代码块按编写的方式工作。不需要修改它。
我只是在下面运行这个,然后当我fetch_housing_data()在另一个单元格中运行时它起作用了:

import os
import tarfile
import urllib
DOWNLOAD_ROOT = "https://raw.githubusercontent.com/ageron/handson-ml2/master/"
HOUSING_PATH = os.path.join("datasets", "housing")
HOUSING_URL = DOWNLOAD_ROOT + "datasets/housing/housing.tgz"
def fetch_housing_data(housing_url=HOUSING_URL, housing_path=HOUSING_PATH):
    os.makedirs(housing_path, exist_ok=True)
    tgz_path = os.path.join(housing_path, "housing.tgz")
    urllib.request.urlretrieve(housing_url, tgz_path)
    housing_tgz = tarfile.open(tgz_path)
    housing_tgz.extractall(path=housing_path)
    housing_tgz.close()

你确定这不仅仅是一个你没有看到单元完成的神器?
如果你想独立验证,你可以像我一样在其他地方运行它。我只是通过去这里并按下底部launch binder链接测试它然后我将您的代码粘贴到出现的单元格中。运行这两个单元后,我有一个/home/jovyan/scripts/datasets/housing包含内容的目录housing.csv housing.tgz

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在jupyter笔记本python中密谋

如何在conda环境中使用Jupyter笔记本?

自动化标准的jupyter / ipython笔记本导入

在R jupyter笔记本中使用ipython魔术吗?

在pycharm中使用jupyter笔记本-没有这样的笔记本目录

如何在jupyter笔记本中使用python向图像添加视觉注释?

Conda / Python:导入错误-仅在jupyter笔记本中找不到图像

如何构建在jupyter笔记本中使用的GUI?

在jupyter笔记本中使用bash_profile别名

如何从GitHub保存Jupyter笔记本

在colaboratory中使用jupyter笔记本快捷方式

如何从离线的可打印python jupyter笔记本中的选定点获取数据?

Jupyter-从导入的笔记本导入类

如何在Jupyter笔记本中使用bokeh将多选窗口小部件链接到数据表?

导入包可在jupyter笔记本中使用,但不能在iPython和Anaconda cmd中使用

GitHub上的Jupyter笔记本中的目录

如何将代码和降价单元格从Python导入Jupyter笔记本?

在jupyter笔记本中使用opencv时出错:

在python jupyter笔记本中将列表转换为数据框

对于分类数据,如何在表而不是列表中显示结果?(Jupyter笔记本/ Python)

Python和R:如何在Jupyter笔记本中使用Pyper显示图?

从Jupyter笔记本复制数据

在降价 Jupyter 笔记本中使用输出

使用 python 的 Jupyter 笔记本上下文感知

Tensorflow 未在 jupyter 笔记本上导入

在 Jupyter 笔记本中使用 PIL 库运行 2 段等效的 Python 3.7.6 代码但得到不同的结果

如何在 Jupyter 笔记本上导入 openCV?

Python Jupyter 笔记本 scipy

在 Jupyter 笔记本环境中使用“地图”对象