Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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 3.x 将json文件转换为数组的python字典_Python 3.x - Fatal编程技术网

Python 3.x 将json文件转换为数组的python字典

Python 3.x 将json文件转换为数组的python字典,python-3.x,Python 3.x,我是Python新手,所以如果我的问题看起来像,请原谅,笨蛋 我有一个json文件,如下所示 [{'_id': '1', 'date': '2019-09-07', 'name': 'abi', 'value': 0, 'unit': '°C'}, {'_id': '2', 'date': '2019-09-08', 'name': 'allo', 'value': 3, 'unit': '°F'}, {'_id': '3', 'date': '2019-09-09', 'name': 'a

我是Python新手,所以如果我的问题看起来像,请原谅,笨蛋

我有一个json文件,如下所示

[{'_id': '1', 'date': '2019-09-07', 'name': 'abi', 'value': 0, 'unit': '°C'},

{'_id': '2', 'date': '2019-09-08', 'name': 'allo', 'value': 3, 'unit': '°F'},

{'_id': '3', 'date': '2019-09-09', 'name': 'ali', 'value': 0, 'unit': '°C'}]
我想读取这个json文件,以便将其转换为数组字典,如下所示

[{'_id': [ '1', '2','3']},

{'date': [ '2019-09-07', '2019-09-08','2019-09-09']},

{'name': [ 'abi', 'allo','ali']},

{'value': [ '0', '3','0']},

{'unit': [ '°C', '°F','°C']},]

提前感谢您

使用
集合。defaultdict

Ex:

from collections import defaultdict

data = [{'_id': '1', 'date': '2019-09-07', 'name': 'abi', 'value': 0, 'unit': '°C'},
{'_id': '2', 'date': '2019-09-08', 'name': 'allo', 'value': 3, 'unit': '°F'},
{'_id': '3', 'date': '2019-09-09', 'name': 'ali', 'value': 0, 'unit': '°C'}]

result = defaultdict(list)
for i in data:
    for k, v in i.items():
        result[k].append(v)
print(result)
result = {}
for i in data:
    for k, v in i.items():
        result.setdefault(k, []).append(v)
print(result)
{'_id': ['1', '2', '3'],
 'date': ['2019-09-07', '2019-09-08', '2019-09-09'],
 'name': ['abi', 'allo', 'ali'],
 'unit': ['°C', '°F', '°C'],
 'value': [0, 3, 0]}

.setdefault

Ex:

from collections import defaultdict

data = [{'_id': '1', 'date': '2019-09-07', 'name': 'abi', 'value': 0, 'unit': '°C'},
{'_id': '2', 'date': '2019-09-08', 'name': 'allo', 'value': 3, 'unit': '°F'},
{'_id': '3', 'date': '2019-09-09', 'name': 'ali', 'value': 0, 'unit': '°C'}]

result = defaultdict(list)
for i in data:
    for k, v in i.items():
        result[k].append(v)
print(result)
result = {}
for i in data:
    for k, v in i.items():
        result.setdefault(k, []).append(v)
print(result)
{'_id': ['1', '2', '3'],
 'date': ['2019-09-07', '2019-09-08', '2019-09-09'],
 'name': ['abi', 'allo', 'ali'],
 'unit': ['°C', '°F', '°C'],
 'value': [0, 3, 0]}
输出:

from collections import defaultdict

data = [{'_id': '1', 'date': '2019-09-07', 'name': 'abi', 'value': 0, 'unit': '°C'},
{'_id': '2', 'date': '2019-09-08', 'name': 'allo', 'value': 3, 'unit': '°F'},
{'_id': '3', 'date': '2019-09-09', 'name': 'ali', 'value': 0, 'unit': '°C'}]

result = defaultdict(list)
for i in data:
    for k, v in i.items():
        result[k].append(v)
print(result)
result = {}
for i in data:
    for k, v in i.items():
        result.setdefault(k, []).append(v)
print(result)
{'_id': ['1', '2', '3'],
 'date': ['2019-09-07', '2019-09-08', '2019-09-09'],
 'name': ['abi', 'allo', 'ali'],
 'unit': ['°C', '°F', '°C'],
 'value': [0, 3, 0]}
可能重复的