通过Python的gzip读取gz文件时出现BadGzipFile错误
源文件是json格式的,我们把它压缩成了gz格式。文件没问题,我可以用notepad++打开这个文件。
import gzip
# Open the GZIP file in text mode ('rt')
with gzip.open('example.gz', 'rt') as f:
file_content = f.read()
print(file_content)
我遇到的错误是:
BadGzipFile: 不是一个gz压缩文件 (b'{\n')
我也尝试逐行读取,结果还是出现同样的错误。
import gzip
with gzip.open('example.gz', 'r') as fin:
for line in fin:
print('got line:', line)
这是我的示例json数据:
{
"metadata_version": 1,
"created": "2024-01-31T16:02:11.400125+00:00",
"domain": {
"name": "myname",
"version": 1,
"type": "core"
},
"id1": "01HNG439A8M7395MB9CWC4XSKC",
"id2": {
"id3": "efbc9315-6a27-455b-9050-02ea08eb1b69",
"id4": "05933069-eeb5-4801-8801-fdd9819d08bf",
"id5": "8b642da5-e954-402c-bcb9-a196d594ed62"
},
"data": "AAAAAAAA22RzW7CMBCEXyXymVQJNOHnVgGlHIoikvbQ2+IsYMnYdNemQlXfvQ4Q4MB1ZvebWftXVASGQTplzcyrWozEWub9LM8HsUyyNE5TxBjSvoyTJEuyfPUMvXUqOmKJ3x7ZTcChGBmvdUeMNQIps3mznnE"
}
1 个回答
0
这个GZ文件是从AWS S3下载的。当我们下载这个文件时,AWS会自动把它解压成原来的JSON格式,文件名还是myfile.gz。虽然文件名是myfile.gz,但实际上它是一个JSON文件,而不是一个GZ文件。