我有几个子文件夹,每个子文件夹都包含压缩的twitter文件。我希望python遍历这些子文件夹并将它们转换为常规JSON文件。 我有300多个子文件夹,每个子文件夹包含大约1000个或更多的压缩文件。 这些文件的示例名为: 00_activities.json.gz%3FAWSAccessKeyId=AKIAJADH5KHBJMUZOPEA&;过期时间=1404665927&签名=%2BdCn%252Ffn%2BFfRQhknWWcH%2BtnwlSfk%3D“
提前谢谢
我尝试了下面的代码,只是想看看是否可以提取其中一个文件,但没有一个有效。在
import zipfile
zip_ref = zipfile.ZipFile('E:/echoverse/Subdivided Tweets/Subdivided Tweets/Tweets-0', 'r')
zip_ref.extractall('E:/echoverse/Subdivided Tweets/Subdivided Tweets/Tweets-0/00_activities.json.gz%3FAWSAccessKeyId=AKIAJADH5KHBJMUZOPEA&Expires=1404665927&Signature=%2BdCn%252Ffn%2BFfRQhknWWcH%2BtnwlSfk%3D')
zip_ref.close()
import gzip
import json
with gzip.open('E:/echoverse/Subdivided Tweets/Subdivided Tweets/Tweets-0/00_activities.json.gz%3FAWSAccessKeyId=AKIAJADH5KHBJMUZOPEA&Expires=1404665927&Signature=%2BdCn%252Ffn%2BFfRQhknWWcH%2BtnwlSfk%3D'
, 'rb') as f:
d = json.loads(f.read().decode("utf-8"))
stackover flow上还有另一个非常类似的威胁,但我的问题不同,我的压缩文件最初是JSON,当我使用最后一个方法时,我得到以下错误: 出现异常:json.decoder.JSONDecodeError 期望值:行1列1(字符0)
回答这个问题的简单脚本:它遍历,检查文件(
fname
)是否是gzip(通过magic number,因为我很愤世嫉俗)并解压缩它。在经过测试而且有效。在
相关问题 更多 >
编程相关推荐