0
我工作的一個簡單的解析器,其中訂單/指數事項。但是,每個條目都有很多空值,所以爲了節省空間,我想刪除它們。爲了維護順序/索引信息,我試圖在內部字典的關鍵字是'外部字典的鍵+索引'的字典中創建字典。創建從字典詞典作爲迭代
它開始作爲一個長字符串:
'Blue|periwinkle|power|morning|cyan\nPurple|indigo|violet|royal|electric\nred|rogue|mauve|wine|magenta\nyellow|gold|amber|flax|mustard'
所以,我打開該文件到Python和開打破了字符串如下:
with open('example1.hl7', 'r') as message:
for i,line in enumerate(message):
line = line.split('|', 1)
linekey = line[0]
line = {linekey + str(i + 1): line[1]}
line = {key: list(map(str, value.split('|'))) for key, value in line.items()}
這給了我這樣的:
{'Blue': ['periwinkle', 'power', 'morning', 'cyan'],
'Purple': ['indigo', 'violet', 'royal', 'electric'],
'red': ['rogue', 'mauve', 'wine', 'magenta'],
'yellow': ['gold', 'amber', 'flax', 'mustard']}
我在想我需要使用地圖()的下一部分,但無法弄清楚什麼函數調用正確的形式在字典處以及如何引用外鍵。我將外鍵命名爲使調用更容易,但我仍然在添加索引並將其作爲內部字典的關鍵時遇到困難。我試圖最終與:
{'Blue':
{'Blue1': 'periwinkle', 'Blue2': 'power', 'Blue3': 'morning', 'Blue4': 'cyan'},
'Purple':
{'Purple1': 'indigo', 'Purple2': 'violet', 'Purple3': 'royal', 'Purple4': 'electric'},
'Red':
{'Red1': 'rogue', 'Red2': 'mauve', 'Red3': 'wine', 'Red4': 'magenta'},
'Yellow':
{'Yellow1': 'gold', 'Yellow2': 'amber', 'Yellow3': 'flax', 'Yellow4': 'mustard'}
}