【发布时间】:2019-09-19 22:19:06
【问题描述】:
我想编写一个从 Kaggle.com 下载公共数据集的 python 脚本。
Kaggle API 是用 python 编写的,但我能找到的几乎所有文档和资源都是关于如何在命令行中使用 API,而关于如何在 python 中使用 kaggle 库的内容很少.
有些用户似乎知道如何做到这一点,例如见several answers to this question,但这些提示不足以解决我的具体问题。
也就是说,我有一个如下所示的脚本:
from kaggle.api.kaggle_api_extended import KaggleApi
api = KaggleApi('content of my json metadata file')
file = api.datasets_download_file(
owner_slug='the-owner-slug',
dataset_slug='the-dataset-slug',
file_name='the-file-name.csv',
)
我通过查看方法的签名得出了这个结论:api.datasets_download_file(owner_slug, dataset_slug, file_name, **kwargs)
我收到以下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 12: invalid start byte
除了这个特定问题的解决方案之外,我真的很高兴知道如何解决 Kaggle 库的错误,而不是通过代码本身。事实上,也许这个问题与 utf-encoding 无关,但我不知道如何解决这个问题。如果只是文件名错误,或者像这样愚蠢的事情怎么办?
csv 文件没什么特别的:三列,第一列是时间戳,另外两列是整数。
【问题讨论】:
-
你试过使用 Kaggle CLI 吗? (github.com/floydwch/kaggle-cli) 你已经可以下载数据集了。这是您可以用来下载文件的命令:
kg download -u <username> -p <password> -c <competition> -
这不是我要问的。我在询问
Kaggle作为python库以在python脚本中使用。