【问题标题】:Python - Replace Special Characters from key, value in dictonaryPython - 从键替换特殊字符,字典中的值
【发布时间】:2019-05-20 00:14:25
【问题描述】:

我有这个字典:

dict1={'Period': '100.02\xa0minutes[2]', 'Repeat interval': '23\xa0days', 'Epoch': '25 January 2015, 00:45:13\xa0UTC[2]', 'Band': 'S Band(TT&C support)X Band(science data acquisition)', 'Bandwidth': 'up\xa0to\xa0722kbit/s\xa0download\xa0(S Band)up\xa0to\xa018.4Mbit/s\xa0download\xa0(X Band)up\xa0to\xa04kbit\xa0/s\xa0upload\xa0(S Band)'}

我想替换所有\xa0 by " " 我试试这个:

clean_dict = {key.strip(): item.strip() for key, item in dict1.items()}

但是输出是一样的。 我也试试这个:

    new_keys = list(dict1.keys())
    new_values = list(dict1.values())
    new_keys2 = list()
    new_values2 = list()
    for element in new_keys:
        print (element)
        new_keys2.append(element.replace("\xa0", " "))
    for element in new_values:
        print(element)
        new_values2.append(element.replace("\xa0", " "))
    new_dict = dict(zip(new_keys2,new_values2))

但这也给了我相同的输出。我该如何解决这个问题?

【问题讨论】:

标签: python dictionary replace


【解决方案1】:

你可以试试replace:

python 3.x

>>> dict2 = {k.replace(u'\xa0', ' ') : v.replace(u'\xa0', ' ') for k, v in dict1.items()}

python 2.7

>>> dict2 = {k.replace(u'\xa0', ' ') : v.replace(u'\xa0', ' ') for k, v in dict1.iteritems()}

结果是

>>> print(dict2)
{'Band': 'S Band(TT&C support)X Band(science data acquisition)',
 'Bandwidth': 'up to 722kbit/s download (S Band)up to 18.4Mbit/s download (X Band)up to 4kbit /s upload (S Band)',
 'Epoch': '25 January 2015, 00:45:13 UTC[2]',
 'Period': '100.02 minutes[2]',
 'Repeat interval': '23 days'}

【讨论】:

    【解决方案2】:

    试试这个

    {unicodedata.normalize("NFKD", key): unicodedata.normalize("NFKD", item) for key, item in dict1.items()}
    

    输出

     'Repeat interval': '23 days',
     'Epoch': '25 January 2015, 00:45:13 UTC[2]',
     'Band': 'S Band(TT&C support)X Band(science data acquisition)',
     'Bandwidth': 'up to 722kbit/s download (S Band)up to 18.4Mbit/s download (X Band)up to 4kbit /s upload (S Band)'}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-22
      • 2022-01-22
      • 1970-01-01
      • 2014-07-13
      • 1970-01-01
      • 2018-09-11
      • 2014-11-03
      • 2017-06-24
      相关资源
      最近更新 更多