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

如何仅格式化循环python中的项数,python,formatting,Python,Formatting,我在线读取一个文件并将其转换为JSON。我已经得到了结果,但希望格式化数字(23456876到23456875和345653到345653) 我编写代码是为了获取值,但是如果我在键中为k使用中的语句,请尝试。它不会转换,我也使用了另一种方法,但get无法将自动字段转换为手动格式或其他格式 titles = ["name", "downloads", "version", "Latest downloads"] key = ["name", "downloads", "version", "ver

我在线读取一个文件并将其转换为JSON。我已经得到了结果,但希望格式化数字(
23456876
23456875
345653
345653

我编写代码是为了获取值,但是如果我在键中为k使用
中的
语句,请尝试
。它不会转换,我也使用了另一种方法,但get
无法将自动字段转换为手动格式或其他格式

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
如何将下载的
打印为:

downloads: 2,345,676
Latest downloads: 345653

不确定您在做什么索引,但如果是以下情况,您可以使用iInstance检查int并进行格式化:

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
name: python
downloads: 23,456,876
version: 3.4.2
Latest downloads: 345,653
我将使用dict来映射名称并进行查找,而不是索引:

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
name: python
downloads: 23,456,876
version: 3.4.2
Latest downloads: 345,653

如果唯一的区别是
“version\u downloads”
,那么只需使用If检查可能会更简单。

s=23456876;打印(“{:,}”.format(s))
@PadraicCunningham我知道这件事。但我的结果是一个循环和不同数据类型的组合。我不能对所有的人都这样做,因为我只想格式化数字,我不明白为什么python中有这样的东西,你可以这样做:n=45786345;myl=列表(n);mod=myl%3;对于myl中的i:print(i,end=“”);如果mol==0:打印(“,”,结束==”);摩尔=4;摩尔-=1。。。。。。好了,现在我明白了为什么会有这样的事情:)谢谢第一个例子
isInstance
成功了,学习新东西很好