如何正确地重新格式化unicode格式的python字典?

时间:2017-05-24 09:30:45

标签: python dictionary unicode formatting

我有一些输入数据,这是一个格式为unicode的python字典。像这样:

Input = {u'city': u'London', u'offer_type': u'3'}

我需要创建一个能够重新格式化字典值的脚本。因此,如果值是整数,就像“offer_type”的情况一样,它将其设置为整数。它的值是一个字符串,如“city”,它将其设置为字符串。这可以使用str()int()函数轻松完成。

但问题是我的输入数据可能会有所不同,因此键可能会有所不同,也可能是这些键的关联值。因此,我需要以某种方式自动区分unicode值是数字还是字符串,然后重新格式化。

我的第一个想法是获取每个值,尝试将它们转换为整数,如果我检索错误消息,然后尝试将其转换为字符串。但这根本不是pythonic,我对性能表示怀疑。

谢谢你, 阿尔瓦罗

1 个答案:

答案 0 :(得分:1)

你可以试试这个

Output = {} for key in Input.keys(): Output[str(key)] = int(Input[key]) if Input[key].isdigit() else str(Input[key]) print Output