在解析字典列表时遇到麻烦,通过循环访问每个字典的所有键值对,以便一次处理每个 kv。
我有一个包含字典列表的 json 文件。简化形式:
[
{"": "0", "a": "3893", "b": "2389", "c": "1209"},
{"": "1", "a": "4308", "b": "4560", "c": "9127"},
...
]
我想遍历每个字典,并且对于每个键值对(不包括第一个,假设它将被跳过,因为键是空的)每次迭代,可以访问一个字典的 a,b,c kv 对,以便它们被单独处理。
我试过:
import json
with open("file.json", "r") as read_file:
data = json.load(read_file)
result_list = []
for d in data:
result_list.append([v for k,v in d.items()])
for k, v in enumerate(result_list.items()):
# process each key-value pair
但我收到以下错误:
Traceback (most recent call last):
File "somescript.py", line 28, in <module>
for k, v in enumerate(result_list.items()):
AttributeError: 'list' object has no attribute 'items'
同时我尝试:
import json
with open("file.json", "r") as read_file:
data = json.load(read_file)
for i in data:
print(i, data[i])
并得到:
Traceback (most recent call last):
File "somescript.py", line 26, in <module>
print(i, dat[i])
TypeError: list indices must be integers or slices, not dict
代码有问题,我还不知道如何实现上面的,可能很简单但我还没有找到。