Python脚本无法处理IRS 990 AWS数据湖中大型Zip文件的问题求助
Python脚本无法处理IRS 990 AWS数据湖中大型Zip文件的问题求助
我正尝试通过AWS数据湖获取原始990(非营利组织纳税申报表)XML数据。这些XML文件被打包成按IRS处理月份拆分的Zip文件(比如“2024_1A”代表1月,“2024_2A”代表2月),部分月份因为返回数据过多会分成多个Zip文件。

我写了一段Python脚本,能够访问数据湖并处理14个Zip文件中的10个,但针对几个大型Zip文件——5A、5B、11A、11B——却返回错误:Error processing file EfileData/XmlZips/2024_TEOS_XML_05A.zip: That compression method is not supported
这些大型Zip和其他Zip文件的唯一区别似乎就是文件大小。我目前用这段代码将文件解压到临时目录:
with zipfile.ZipFile(local_zip_path, 'r') as zip_ref: zip_ref.extractall(temp_dir)
我已经尝试了以下几种解决方法,但都没有效果:
- 使用pyz7r库和Python调用7zip工具
- 确认这些Zip文件的压缩类型是9(对应DEFLATE压缩,Python的zipfile模块应该支持)
- 下载Zip文件到本地,预览内部的XML文件,确认文件没有损坏
- 尝试将本地解压后的文件上传到Google Colab工作区,但每个Zip里有70000个文件,下载一个就要花几个小时,而且上传时Chrome总是崩溃
- 尝试分批提取Zip文件以提升效率
有没有人能帮我分析下为什么这些大型Zip文件无法被处理,以及对应的解决办法?非常感谢!
备注:内容来源于stack exchange,提问作者Brynn Moynihan
相关产品推荐
相关产品推荐

