You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Colab中列出Kaggle数据集的所有文件?

解决Kaggle API获取数据集全文件列表的问题

方案1:修复Python API返回空值的问题

先升级Kaggle API到最新版本,大概率是旧版本bug导致返回空列表:

!pip install --upgrade kaggle

重新调用API时,显式触发全量数据获取:

from kaggle.api.kaggle_api_extended import KaggleApi
api = KaggleApi()
api.authenticate()

# 获取数据集文件对象
dataset_files = api.dataset_list_files('<user>/<dataset>')
# 强制拉取所有文件元数据(部分版本需要这一步)
dataset_files.fetch_all()
# 提取文件名列表
file_list = [file.name for file in dataset_files.files]

如果升级后仍无效,说明当前API版本确实存在bug,直接用命令行方案更可靠。

方案2:用命令行获取全文件列表并保存到变量

命令行默认仅显示20条数据,加上--all参数可列出所有文件,再用--csv输出结构化格式,方便解析到变量:

方法A:用Pandas快速解析

import pandas as pd
# 执行命令并读取CSV输出
files_df = pd.read_csv(
    '!kaggle datasets files <user>/<dataset> --all --csv',
    shell=True
)
# 提取文件名列表
file_list = files_df['Name'].tolist()

方法B:用subprocess原生解析(无需Pandas)

import subprocess
# 调用命令并捕获输出
output = subprocess.check_output(
    ['kaggle', 'datasets', 'files', '<user>/<dataset>', '--all', '--csv'],
    text=True
)
# 解析CSV内容,跳过表头行
lines = output.strip().split('\n')[1:]
file_list = [line.split(',')[0] for line in lines]

这两种方法都能避开Selenium这类复杂工具,直接通过Kaggle官方工具获取全量文件列表。

内容的提问来源于stack exchange,提问作者Jorvan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 01:22:42