Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中打开json.gz文件并返回字典_Python_Json_Python 3.x - Fatal编程技术网

如何在Python中打开json.gz文件并返回字典

如何在Python中打开json.gz文件并返回字典,python,json,python-3.x,Python,Json,Python 3.x,我下载了一个压缩的json文件,并希望将其作为字典打开 我使用了json.load,但是数据类型仍然给我一个字符串。 我想从json文件中提取一个关键字列表。即使我的数据是一个字符串,有没有办法做到这一点? 这是我的密码: 导入gzip 导入json 使用gzip.open(“19.04_association_data.json.gz”,“r”)作为f: data=f.read() 将open('association.json','w')作为json_文件: json.dump(data.d

我下载了一个压缩的json文件,并希望将其作为字典打开

我使用了
json.load
,但是数据类型仍然给我一个
字符串。
我想从json文件中提取一个关键字列表。即使我的数据是一个字符串,有没有办法做到这一点?
这是我的密码:

导入gzip
导入json
使用gzip.open(“19.04_association_data.json.gz”,“r”)作为f:
data=f.read()
将open('association.json','w')作为json_文件:
json.dump(data.decode('utf-8'),json_文件)
用open(“association.json”,“r”)作为read_it:
关联数据=json.load(读取)
打印(类型(关联数据))
#实际输出为'str',但我预计为'dic'

在第一个
块中,您已经获得了未压缩的字符串,无需再次打开它

import gzip
import json

with gzip.open("19.04_association_data.json.gz", "r") as f:
   data = f.read()
   j = json.loads (data.decode('utf-8'))
   print (type(j))


使用标准库()中的
gzip
包打开文件,然后将其直接读入
json.loads()


我再次转储数据,因为一旦我运行了上面的代码,它就会显示“json.decoder.jsondecoderror:Extra data:line 2 column 1(char 2350)”。我在想,因为我的gz文件有多个json对象,所以我将它们全部转储到一个文件中。@CarolineCheng我想你在其中有一个json不支持的列表。
import gzip
import json    

with gzip.open("19.04_association_data.json.gz", "rb") as f:
    data = json.loads(f.read(), encoding="utf-8")