Python 将字典列表中的值从字符串转换为整数

Python 将字典列表中的值从字符串转换为整数,python,list,dictionary,Python,List,Dictionary,我有一份54本字典的列表,格式如下: [{'1A': '1', '3E': '2', 'PRODUCT NUMBER': '1', 'Week': '1'} , {'1A': '1', '1B': '1', '1C': '1', '1D': '2', '1E': '2', '2C': '1', '3E': '2', 'PRODUCT NUMBER': '2', 'Week': '1'},...] and etc 我正在尝试将值从字符串转换为整数 d=[{'1A': '1',

我有一份54本字典的列表,格式如下:

[{'1A': '1',
'3E': '2',
'PRODUCT NUMBER': '1',
'Week': '1'}
,

{'1A': '1',
 '1B': '1',
 '1C': '1',
 '1D': '2',
 '1E': '2',
 '2C': '1',
 '3E': '2',
 'PRODUCT NUMBER': '2',
 'Week': '1'},...] and etc
我正在尝试将值从字符串转换为整数

d=[{'1A': '1',
'3E': '2',
'PRODUCT NUMBER': '1',
'Week': '1'}]
我已经成功地为我的最后一本字典做到了这一点,但它似乎对其余的字典不起作用

这是我的代码:

for i in buyers: #buyers is the list
    for n in buyers_dict: # the code works without this line the same, i cant figure out where to implement the 'n'
        for k, v in buyers_list.items():
            buyers_list[k] = int(v)
pprint.pprint(buyers)
正如我所说,第54个字典值被转换,但其余的仍然是字符串

这是我的excel文件:

然后,我将字典压缩为只包含具有值的键值对。现在我需要将这些值转换成整数

d=[{'1A': '1',
'3E': '2',
'PRODUCT NUMBER': '1',
'Week': '1'}]
运用理解力

[{k:int(v)} for i in d for (k,v) in i.items() ]
输出:

[{'1A': 1}, {'3E': 2}, {'PRODUCT NUMBER': 1}, {'Week': 1}]

假设您的数据在此架构中:

buyers = [{...}, {...}, ...]
您需要循环浏览目录列表,然后处理这些目录,尤其是:

for d in buyers:
    for k, v in d.items():
        d[k] = int(v)
或以理解形式:

buyers = [{k: int(v) for k, v in d.items()} for d in buyers]

您从不在任何地方使用
n
。代码提到了一个列表,但在示例数据中没有列表。请创建一个。@Luca您可以将数据添加为
code
?这些行如何保存在变量中?只要一个简单的例子就足够了。不用写“…等”,你可以把这个表示转换成一个有效的Python语法并给它起个名字。这个列表在字典里。我将编辑代码来表示这一点,但我已经编写了“。。。等等,因为有54本字典,都是相同的格式,所以我觉得重复写出来是多余的不是我,但我打赌这是因为它不会产生我想要的结果。我以前试过,但它对我不起作用!为了理解,我在“d.items()”@Ajay中得到了一个错误,我想这是因为答案是给出的,即使问题没有最小的可复制示例。回答低质量的帖子可能不会受到一些人的欢迎。正如你所看到的,@Luca说这不起作用。这些代码没有理由不起作用。但是我们不知道为什么它不起作用,因为我们不知道实际数据是什么样子的。好吧,那么我将把数据添加到问题中,谢谢你的帮助,数据从csv文件导入字典列表,其中csv的每一行都是字典。列标题是键,单元格数据是值。然而,我必须说,我确实简要地提供了实际数据。