簡體   English   中英

從字典數據中刪除 Unicode

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM