kaggle 导入数据集报错的解决方案。
在kaggle上导入数据集,却不是网上大家所说的下载界面,而是全部的文字。
问题描述:
在kaggle上导入数据集,却不是网上大家所说的下载界面,而是全部的文字。

问题解决:
我们看报错的信息就可以发现,是在Kaggle上传数据集时遇到文件名包含非法字符的问题,需要先清理这些文件名。
解决方法:
通过python,对文件名进行统一处理,把有问题的文件名全部替换掉。
需要修正的问题类型:
-
非法字符:
&,',#,[,>,<等 -
尾部空格:文件名末尾有空格
-
HTML实体:如
&,'等需要转义
利用deepseek帮我改了好几版,终于解决了。
前面几版都是文件名字没有改干净。
方法和代码如下:
第一阶段:环境准备
-
创建专用工作区
-
在桌面右键 → 新建 → 文件夹 → 命名为
Kaggle终极修复 -
双击进入文件夹
-
-
放入原始文件
-
将你的
development.zip复制到该文件夹
-
-
安装必要软件
-
下载 Python 3.8+:
-
安装时勾选:
-
☑ Add Python to PATH
-
☑ Install launcher for all users
-
-
-
第二阶段:创建脚本文件
-
创建清理脚本
-
在文件夹空白处右键 → 新建 → 文本文档
-
重命名为
fix.py(注意:去掉.txt后缀)-
如果看不到文件扩展名:
-
打开文件资源管理器 → 查看 → 勾选"文件扩展名"
-
-
-
-
编辑脚本内容
-
右键
fix.py→ 用记事本打开 -
粘贴以下代码(完整版):
import re import zipfile import uuid from pathlib import Path def super_clean(text): """终极清理函数""" # 替换表(特殊字符 → 安全字符) replace_dict = { "&": "and", "'": "s", "'": "", "(": "_", ")": "_", "[": "_", "]": "_", "{": "_", "}": "_", "<": "to", ">": "from", "#": "no", "@": "at", "!": "", "?": "", ",": "_", ";": "_", " ": "_", "\\": "_", "/": "_" } for old, new in replace_dict.items(): text = text.replace(old, new) # 最终过滤(只保留字母数字和下划线) text = re.sub(r"[^a-zA-Z0-9_]", "", text) return text[:60] # 截断到60字符 def process_zip(): print("="*50) print("开始处理ZIP文件...".center(50)) with zipfile.ZipFile("development.zip", 'r') as zin: with zipfile.ZipFile("kaggle_ready.zip", 'w') as zout: for item in zin.infolist(): if item.is_dir(): continue # 处理路径和文件名 path = Path(item.filename) new_name = f"{super_clean(path.stem)}_{uuid.uuid4().hex[:4]}{path.suffix.lower()}" # 写入新ZIP(保留原始时间戳) with zin.open(item) as f: zout.writestr(new_name, f.read()) # 打印处理日志 print(f"{path.name[:25]:<25} → {new_name[:25]}...") print("="*50) print("处理完成!最终文件:kaggle_ready.zip".center(50)) print("="*50) if __name__ == "__main__": process_zip() -
保存文件
-
按
Ctrl + S保存 -
关闭记事本、
-
-
第三阶段:运行清理脚本
-
打开命令行
-
在文件夹空白处按住
Shift+ 右键 -
选择 "在此处打开 PowerShell 窗口"
-
-
首次验证原始文件
# 查看原始文件结构 python -m zipfile -l development.zip > original.txt notepad original.txt3执行
python fix.py然后再将要上传的文件压缩,拉到kaggle的上传界面。看能不能解决这个问题。如果不行,把报错的信息复制给AI让他给你解决,完全解决以后,就可以找到解决的办法了。
在AI时代,我们什么都不会也可以解决问题。只是如果我们会,可以少花一些精力,少给AI喂几次。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)