Python 将字典列表中的值从字符串转换为整数
我有一份54本字典的列表,格式如下: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',
[{'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的每一行都是字典。列标题是键,单元格数据是值。然而,我必须说,我确实简要地提供了实际数据。