如何通过Colab将Google Drive中的数据集迁移至Kaggle
免费版Colab上传Google Drive数据集至Kaggle实操方案
我找了不少方法都没发现更简便的上传方案,所以把这个亲测有效的免费版方法分享出来,我已经用这个方式成功发布过数据集了。
# 安装kaggle库 !pip install kaggle # 挂载Google Drive到Colab from google.colab import drive drive.mount('/content/drive') # 上传Kaggle的API密钥文件(.json格式) from google.colab import files files.upload() # 配置Kaggle密钥路径及权限 !mkdir -p ~/.kaggle !cp kaggle.json ~/.kaggle/ !chmod 600 ~/.kaggle/kaggle.json # 初始化数据集元数据(可通过Colab定位路径更方便) !kaggle datasets init -p "/content/drive/MyDrive/path_to_your_dataset" # 压缩数据集部分 import shutil import os # 你在Google Drive中的源数据集文件夹路径 source_folder = '/content/drive/MyDrive/path_to_your_dataset' # 压缩文件保存到Colab临时存储(速度更快,不要存回Drive) zip_destination = '/content/name_for_your_zip' print("开始压缩,50GB左右的数据集会需要较长时间...") # 生成压缩文件 shutil.make_archive(zip_destination, 'zip', source_folder) print("压缩完成!可在左侧文件浏览器查看结果。") # 创建临时上传文件夹 !mkdir /content/KaggleUpload # 将压缩文件移至临时文件夹 !mv /content/name_for_your_zip.zip /content/KaggleUpload/ # 初始化上传用的元数据文件 !kaggle datasets init -p /content/KaggleUpload ### 重要:继续运行前,请进入Colab的/content/KaggleUpload/目录,编辑生成的.json文件,填写数据集标题和名称,上传后的数据集默认是私有的 # 上传压缩后的数据集到Kaggle !kaggle datasets create -p /content/KaggleUpload --dir-mode skip
注意事项
- 请根据实际需求修改代码中的文件夹路径和文件名
- 运行到标注的重要步骤时,必须编辑元数据.json文件,否则无法正常完成上传
- 代码为即兴编写,我不享有其所有权
内容的提问来源于stack exchange,提问作者cls_404




