![](/img/trans.png)
[英]How to remove unicode characters from Dictionary data in python
[英]remove Unicode from Dictionary data
我有以下字典
My_Dict= { u'Apple': [u'A' , u'B'] ,u'orange': [u'C' , u'D'] }
我有另一本具有相同數據但不是 Unicode 的字典
Dict= { 'Apple': ['A' , 'B'] ,'orange': ['C' , 'D'] }
我試圖比較兩本字典,但它說兩本字典不一樣。 我認為它是因為那個 Unicode
有什么方法可以通過從 My_dict 中刪除 Unicode 或將 'Dict' 轉換為 Unicode 來比較兩個字典?
我得到 Unicode 的原因是因為我使用了 S 表達式解析器。 下面是解析器模塊的鏈接以供參考。 http://sexpdata.readthedocs.org/en/latest/
從字典中刪除 Unicode 嘗試:
import json, ast
My_Dict= { u'Apple': [u'A' , u'B'] ,u'orange': [u'C' , u'D'] }
print(ast.literal_eval(json.dumps(My_Dict)))
import json
some_other_dict = json.loads(json.dumps(My_Dict))
print(some_other_dict)
試試這個。 它將刪除unicode。
也許對兩者都執行 json.dumps 。
json.dumps({ u'Apple': [u'A' , u'B'] ,u'orange': [u'C' , u'D'] })
Output: `'{"orange": ["C", "D"], "Apple": ["A", "B"]}'
json.dumps({ 'Apple': ['A' , 'B'] ,'orange': ['C' , 'D'] })
Output: `'{"orange": ["C", "D"], "Apple": ["A", "B"]}'`
要刪除 unicode,您必須從 unicode 轉換鍵和值。
檢查下面的代碼
My_Dict= { u'Apple': [u'A' , u'B'] ,u'orange': [u'A' , u'B'] }
Dict= { 'Apple': ['A' , 'B'] ,'orange': ['C' , 'D'] }
My_Dicts={}
for i, v in My_Dict.items():
ky= i.encode('ascii','ignore')
if type(v)is list:My_Dicts[ky]=[ item.encode('ascii') for item in v ]
else: My_Dicts[ky] =v.encode('ascii','ignore')
My_Dict=My_Dicts
print My_Dict
print Dict
輸出
{'orange': ['C', 'D'], 'Apple': ['A', 'B']}
{'orange': ['C', 'D'], 'Apple': ['A', 'B']}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.