gpt4 book ai didi

python - 如何仅格式化循环python中的项目数

转载 作者:太空宇宙 更新时间:2023-11-04 03:28:57 24 4
gpt4 key购买 nike

我在线读取了一个文件并将其转换为 JSON。我得到了结果,但想要格式化数字(2345687623,456,875345653345,653 )

data_file = [{"name":"python", "downloads":23456876, "version": "3.4.2", "version_downloads": 345653 }]

我编写了代码来获取值,但是如果我在 for k in key 中使用 try except 语句。它不会转换,我也使用了另一种方式但是得到了 cannot convert automatic fields to mamual formatting or something

titles = ["name", "downloads", "version", "Latest downloads"]
key = ["name", "downloads", "version", "version_downloads"]

i = 0
while i < len(data_file):
results = []
for k in key:
print("{}: {}".format(titles[key.index(k)], data_file[i][k]))
print()
i+=1

现在的结果是这样的:

name: python
downloads: 23456876
latest version: 3.4.2
Latest downloads: 345653

我怎样才能将 downloads 打印为:

downloads: 2,345,676
Latest downloads: 345653

最佳答案

不确定你在做什么索引,但你可以使用 isinstance 检查整数并进行格式化,如果它是:

data_file = [{"name":"python", "downloads":23456876, "version": "3.4.2", "version_downloads": 345653 }]


titles = ["name", "downloads", "version", "Latest downloads"]
key = ["name", "downloads", "version", "version_downloads"]

for d in data_file:
for k in key:
val = d[k]
if isinstance(val, int):
val = "{:,}".format(val)
print("{}: {}".format(titles[key.index(k)], val))

输出:

name: python
downloads: 23,456,876
version: 3.4.2
Latest downloads: 345,653

我会使用字典来映射名称并进行查找,而不是索引:

titles = ["name", "downloads", "version", "Latest downloads"]
key = ["name", "downloads", "version", "version_downloads"]
match = dict(zip(key,titles))
for d in data_file:
for k in key:
val = d[k]
if isinstance(val, int):
val = "{:,}".format(val)
print("{}: {}".format(match[k], val))

输出:

name: python
downloads: 23,456,876
version: 3.4.2
Latest downloads: 345,653

如果唯一的区别是 "version_downloads",那么使用 if 检查可能会更简单。

关于python - 如何仅格式化循环python中的项目数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31899363/

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