我正在尝试将."json.gz"文件中的数据作为 Dataframe 读入。我一直收到错误消息,指示它是"BadGzipFile"。但是,当我手动解压缩该文件时(即只需在我的查找器中双击它),我就能够成功地打开json文件,这让我相信文件是好的,但是当我在Python中运行下面的代码时,我收到"BadGzipFile"错误。
我是非常新的. gzip文件,并做了相当多的研究,试图找出问题是什么。到目前为止,我一直不成功。任何帮助将不胜感激!
下面是我的代码:
import os
import json
import gzip
file_path = '/data/data_0_0_0.json.gz'
with gzip.open(file_path, 'rb') as f:
df = pd.read_json(f, compression='gzip', lines=True)
下面是我收到的错误:
BadGzipFile: Not a gzipped file (b'{"')
1条答案
按热度按时间ca1c2owp1#
这里的代码发生了什么:
你在
file_path
打开一个Gzip文件,然后你告诉Pandas你打开的东西(f
)本身是另一个Gzip文件。这是一个Json文件,当它显示BadGzipFile
并带有方括号时,它是在告诉您它找到的文件是以方括号开头的,而不是Gzip文件的幻数。您应该将其更改为使用
gzip
打开文件,然后直接读取生成的文件,或者让Pandas读取文件。第一个问题是:
第二个实际上更简单,因为
pd.read_json
将基于文件名进行infer the compression转换,并且文件以.gz
结尾,您只需编写: