如何将Kaggle下载的gzip文件转为Pandas DataFrame?解决BadGzipFile报错
解决Pandas读取Kaggle gzip文件报错的问题
报错BadGzipFile: Not a gzipped file (b',i')明确说明目标文件并非有效的gzip压缩文件,常见原因包括文件下载损坏、后缀名标注错误、实际为其他压缩格式。以下是针对性解决方案:
方案1:直接用Pandas自动识别压缩格式
Pandas的read_csv内置了压缩文件处理逻辑,无需手动调用gzip.open,直接传入文件名即可:
import pandas as pd loans = pd.read_csv("Loan_status_2007-2020Q3.gzip")
如果文件是标准gzip格式,Pandas会自动完成解压和读取。
方案2:验证文件实际格式并调整
如果方案1仍报错,先确认文件真实类型:
- 打开文件查看开头内容:如果是普通CSV的列名(如
loan_id,member_id,...),说明后缀名被误标为.gzip,直接将文件后缀改为.csv,再用pd.read_csv读取即可。 - 如果文件实际是ZIP压缩包,读取时指定压缩格式:
loans = pd.read_csv("Loan_status_2007-2020Q3.gzip", compression="zip")
也可以直接修改文件后缀为.zip后再读取。
方案3:重新下载文件
若上述方法都无效,大概率是文件在下载过程中损坏,返回Kaggle重新下载对应数据集文件,确保下载过程无中断。
内容的提问来源于stack exchange,提问作者Metehan Kürşat Güzel
相关产品推荐
相关产品推荐

