2011-10-27 61 views
0

您好,我有以下格式的文本。但我想轉換成字典。我正在使用此代碼轉換爲字典。但它不起作用。將文本轉換爲字典

dict((n,int(v)) for n,v in (a.split('=') for a in string.split())) 

請有人幫幫我嗎?感謝

name = Kurradu 
image = 
image_size = 
producer = P. Kiran 
writer = 
starring = Varun Sandesh,Neha Sharma 
music = Achu 
cinematography = Sarvesh Murari 
editing = 
distributor = 
released = 12 November 2009 
studio = 
country = IND 
+1

你有什麼錯誤嗎?請精確'不行' – JMax

回答

2

一幾個小時前你只需要一個列表,現在你需要一個字典?

text = """ name = Kurradu 
image = 
image_size = 
producer = P. Kiran 
writer = 
starring = Varun Sandesh,Neha Sharma 
music = Achu 
cinematography = Sarvesh Murari 
editing = 
distributor = 
released = 12 November 2009 
studio = 
country = IND""" 


d = dict(map(str.strip, line.split('=', 1)) for line in text.splitlines()) 


# d is now: 

{'cinematography': 'Sarvesh Murari', 
'country': 'IND', 
'distributor': '', 
'editing': '', 
'image': '', 
'image_size': '', 
'music': 'Achu', 
'name': 'Kurradu', 
'producer': 'P. Kiran', 
'released': '12 November 2009', 
'starring': 'Varun Sandesh,Neha Sharma', 
'studio': '', 
'writer': ''} 
+0

感謝您的幫助。爲什麼我得到這個'ValueError:字典更新序列元素#11的長度爲3; 2是必需的? –

1

也許你想是這樣的:

dict(a.split('=') for a in string.split('\n')) 

int(v)是行不通的,因爲在=右邊的值不能轉換成int