所以我正在尝试制作一个程序,将这种数据转换成类似字典或某种小型数据库的东西,我可以玩。如果我这样做:
response = requests.get(url_final).json()
print(response)
我得到一个巨大的,未格式化的列表。
当我这样做
response = requests.get(url_final).json()
for item in response:
print(item)
列表被分成200个字典,当我用另一个for循环遍历它们时,它们只显示'buy'和'sell'字符串。我使用的唯一模块是"请求"。我对编程真的很陌生,不知道如何处理这类问题。如果你能帮忙的话,我会很感激的。
谢谢你:)
大家好,欢迎来到堆栈溢出!
问题与"in"的含义有关。
正如您所提到的,响应是一个列表。for x in list
遍历列表中的每一项。然而,item
是一本字典。当你迭代字典时,你只会得到键。考虑这个例子:
obj = { 'a': 0, 'b': 1, 'c': 3 }
for item in obj:
print(item)
它将打印出:
a
b
c
这就是发生在你身上的事。要解决这个问题,你有几个选择。也许最简单的是这样的:
response = requests.get(url).json()
for item in response:
for key in item:
print(f'{key} -> {item[key]}')
在这里,我们访问了键所指向的值。
另一个选项是:
response = requests.get(url).json()
for item in response:
for key, val in item.items():
print(f'{key} -> {val}')
字典有一个特殊的items()
函数,它返回字典项的列表