如何在PyCharm与在线Jupyter Notebook中读取Kaggle平台的CSV数据
读取Kaggle线上Stack Overflow 2018调研CSV的操作方法
Kaggle平台数据集有访问权限校验,无法直接通过数据集页面的公开链接直接读取CSV,需要通过官方API接口拉取数据后读取,PyCharm和Jupyter Notebook环境下操作逻辑完全一致,步骤如下:
- 第一步:安装Kaggle官方API工具包,执行安装命令:
pip install kaggle - 第二步:配置API访问凭证
登录你的Kaggle账号,进入个人「Account」设置页面,下滑找到API板块,点击「Create New API Token」,会自动下载kaggle.json凭证文件。将该文件放到对应路径:Windows系统放到C:\Users\<你的系统用户名>\.kaggle\,macOS/Linux系统放到~/.kaggle/,如果.kaggle文件夹不存在可以手动新建。 - 第三步:拉取数据集并读取
有两种读取方式可选:- 先下载到本地再读取
执行下载命令自动拉取并解压数据集到当前工作目录:kaggle datasets download -d stackoverflow/stack-overflow-2018-developer-survey --unzip
解压完成后直接用pandas读取即可:
import pandas as pd df = pd.read_csv("survey_results_public.csv")- 直接读入内存不保存本地文件
如果不想留存本地数据副本,可以直接读取字节流到内存处理:
import kaggle import pandas as pd from io import BytesIO from zipfile import ZipFile # 拉取数据集压缩包字节流 dataset_bytes = kaggle.api.datasets_download("stackoverflow/stack-overflow-2018-developer-survey") # 解压后读取主表CSV with ZipFile(BytesIO(dataset_bytes)) as zip_file: with zip_file.open("survey_results_public.csv") as csv_file: df = pd.read_csv(csv_file) - 先下载到本地再读取
注意:首次操作前需要登录Kaggle进入该数据集页面,点击同意数据集使用协议,否则API会返回403权限错误。
内容的提问来源于stack exchange,提问作者kiran
相关产品推荐
相关产品推荐

