gpt4 book ai didi

python - 打印 .json() 返回的字典对象中的所有值

转载 作者:行者123 更新时间:2023-12-01 04:58:44 25 4
gpt4 key购买 nike

我有一段代码,允许我在网站的 XHR 响应上打印使用 .json() 方法返回的字典项:

teamStatDicts = responser[u'teamTableStats']
for statDict in teamStatDicts:
print("{seasonId},{tournamentRegionId},{minsPlayed},"
.decode('cp1252').format(**statDict))

按以下格式打印:

9155,5,900
9155,5,820
...
...
...
9155,5,900
9155,5,820

只要字典中的键永远不会改变,上述方法就可以正常工作。然而,在我提交的一些 XHR 中,它们确实如此。有没有一种方法可以以与上面完全相同的格式打印所有字典值?我尝试了一些方法,但确实一事无成。

最佳答案

一般来说,给出一个dict,你可以这样做:

print(','.join(str(v) for v in dct.values()))

这里的问题是您不知道值的顺序。即 CSV 数据中的第一个值是 seasonId 吗?是tournamentRegionId吗?玩了多少分钟?或者这完全是你不知道的其他事情?

所以,我的观点是,除非您知道字段名称,否则如果数据以普通字典形式提供给您,则无法以任何可靠的顺序将它们放入字符串中。

如果您在其他地方使用 json 解码 XHR,则可以将 object_pairs_hook 设为 OrderedDict:

from collections import OrderedDict
import json

...
data = json.loads(datastring, object_pairs_hook=OrderedDict)

现在保证数据与数据字符串的顺序相同,但这仅在数据字符串中的数据以特定方式排序时才有帮助(通常情况并非如此)。

关于python - 打印 .json() 返回的字典对象中的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26788807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com