格式化从pdf读取的字典键

时间:2020-07-03 12:04:04

标签: python dictionary

如何将这个字典键转换为以下内容

original_di={'001': '', '002': '', '3': '24s', '004': '42s', '5': '', '006': '', '007': '', '008': '', '009': '', '010': '', '011': '', '012\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '013': '', '014': '', '015': '', '016': '', '017': '', '018': '', '019': '', '020': '', '021': '', '022': '', '023': '', '024': '', '025': '', '026': '', '027': '', '028': '', '029': '', '030': '', '031': '', '032': '', '033': '', '041': '', '042': '', '043': '', '044': '', '045': '', '046': '', '047': '', '048': '', '049': '', '050': '', '051': '', '052': '', '053': '', '054': '', '055': '', '056\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '035': '', '037': '', '039\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '034': '', '036': '', '038': '', '040\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '057': '', '092': '', '058': '', '059': '', '060': '', '061': '', '062': '', '063\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '064\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '065\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '066': '', '067': '', '068': '', '069': '', '070': '', '071': '', '072': '', '073': '', '074': '', '075': '', '076': '', '077': '', '078': '', '079': '', '080': '', '081': '', '082': '', '083': '', '084': '', '085\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '086': '', '087': '', '088': '', '089\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '090': '', '091': '', '093': '', '094': '', '095': '', '096': '', '097': '', '098': '', '099': '', '100': '', '101': '', '102': '', '103': '', '104': '', '105': '', '106': '', '107': '', '108': '', '109': '', '110': '', '111': '', '112': '', '113': '', '114': '', '115': '', '116': '', '117': '', '118': '', '119': '', '120': '', '121': '', '122': '', '123': '', '124': '', '125': '', '126': '', '127': '', '128': '', '129': '', '130': '', '131': '', '132': '', '133': '', '134': '', '135': '', '136': '', '137': '', '138': '', '139': '', '140': '', '141': '', '142': '', '143': '', '144': '', '145': '87e', '146': '', '147': '', '148': '', '149\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '150\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '151\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '152\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '153\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '154\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '155\r\r\r\r\r\r\r\r\r\r\r\r\r': 'US', '156': ''}

有些键有额外的\r\t,有些键不是3位数字。

理想情况下,我想要的输出是所有键均为3位数字001、003,050、111(不带\ r \ t)

2 个答案:

答案 0 :(得分:3)

尝试此操作,strip删除换行符,而rjust填写值

{k.strip().rjust(3, "0"): v.strip() for k, v in original_di.items()}  

答案 1 :(得分:1)

for k, v in original_di.items()-迭代字典,k包含键,v包含值。

int(k.strip())-从键中删除换行符(例如:\n\t),并将字符串强制转换为整数。

"{0:0=3d}".format(x)-创建一个在每种情况下都由整数组成的包含3位数字的字符串

: v.strip()-从值中删除换行符(例如:\n\t)。

代码:

original_di={'001': '', '002': '', '3': '24s', '004': '42s', '5': '', '006': '', '007': '', '008': '', '009': '', '010': '', '011': '', '012\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '013': '', '014': '', '015': '', '016': '', '017': '', '018': '', '019': '', '020': '', '021': '', '022': '', '023': '', '024': '', '025': '', '026': '', '027': '', '028': '', '029': '', '030': '', '031': '', '032': '', '033': '', '041': '', '042': '', '043': '', '044': '', '045': '', '046': '', '047': '', '048': '', '049': '', '050': '', '051': '', '052': '', '053': '', '054': '', '055': '', '056\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '035': '', '037': '', '039\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '034': '', '036': '', '038': '', '040\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '057': '', '092': '', '058': '', '059': '', '060': '', '061': '', '062': '', '063\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '064\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '065\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '066': '', '067': '', '068': '', '069': '', '070': '', '071': '', '072': '', '073': '', '074': '', '075': '', '076': '', '077': '', '078': '', '079': '', '080': '', '081': '', '082': '', '083': '', '084': '', '085\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '086': '', '087': '', '088': '', '089\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '090': '', '091': '', '093': '', '094': '', '095': '', '096': '', '097': '', '098': '', '099': '', '100': '', '101': '', '102': '', '103': '', '104': '', '105': '', '106': '', '107': '', '108': '', '109': '', '110': '', '111': '', '112': '', '113': '', '114': '', '115': '', '116': '', '117': '', '118': '', '119': '', '120': '', '121': '', '122': '', '123': '', '124': '', '125': '', '126': '', '127': '', '128': '', '129': '', '130': '', '131': '', '132': '', '133': '', '134': '', '135': '', '136': '', '137': '', '138': '', '139': '', '140': '', '141': '', '142': '', '143': '', '144': '', '145': '87e', '146': '', '147': '', '148': '', '149\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '150\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '151\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '152\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '153\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '154\r\r\r\r\r\r\r\r\r\r\r\r\r': '', '155\r\r\r\r\r\r\r\r\r\r\r\r\r': 'US', '156': ''}
print("{}".format({"{0:0=3d}".format(int(k.strip())): v.strip() for k, v in original_di.items()}))

输出:

>>> python3 test.py
{'001': '', '002': '', '003': '24s', '004': '42s', '005': '', '006': '', '007': '', '008': '', '009': '', '010': '', '011': '', '012': '', '013': '', '014': '', '015': '', '016': '', '017': '', '018': '', '019': '', '020': '', '021': '', '022': '', '023': '', '024': '', '025': '', '026': '', '027': '', '028': '', '029': '', '030': '', '031': '', '032': '', '033': '', '041': '', '042': '', '043': '', '044': '', '045': '', '046': '', '047': '', '048': '', '049': '', '050': '', '051': '', '052': '', '053': '', '054': '', '055': '', '056': '', '035': '', '037': '', '039': '', '034': '', '036': '', '038': '', '040': '', '057': '', '092': '', '058': '', '059': '', '060': '', '061': '', '062': '', '063': '', '064': '', '065': '', '066': '', '067': '', '068': '', '069': '', '070': '', '071': '', '072': '', '073': '', '074': '', '075': '', '076': '', '077': '', '078': '', '079': '', '080': '', '081': '', '082': '', '083': '', '084': '', '085': '', '086': '', '087': '', '088': '', '089': '', '090': '', '091': '', '093': '', '094': '', '095': '', '096': '', '097': '', '098': '', '099': '', '100': '', '101': '', '102': '', '103': '', '104': '', '105': '', '106': '', '107': '', '108': '', '109': '', '110': '', '111': '', '112': '', '113': '', '114': '', '115': '', '116': '', '117': '', '118': '', '119': '', '120': '', '121': '', '122': '', '123': '', '124': '', '125': '', '126': '', '127': '', '128': '', '129': '', '130': '', '131': '', '132': '', '133': '', '134': '', '135': '', '136': '', '137': '', '138': '', '139': '', '140': '', '141': '', '142': '', '143': '', '144': '', '145': '87e', '146': '', '147': '', '148': '', '149': '', '150': '', '151': '', '152': '', '153': '', '154': '', '155': 'US', '156': ''}