[英]Sort Python Dictionary based on Values
我有以下程序,該程序從tsv文件讀取並導入字典。 我需要根據jobID對字典進行排序,並給我這個錯誤:
AttributeError:'dict'對象沒有屬性'jobid'
apps = {}
for row in csvreader:
apps[counter]= {'userid': row[0], 'time': row[1], 'jobid': row[2]}
counter = counter + 1
sorted_keys = sorted(apps.keys(), key=lambda x:apps.jobid)
任何所有的幫助表示贊賞。
字典前三行的樣本輸出:
{'jobid': 'JobID', 'userid': 'UserID', 'time': 'ApplicationDate'}
{'jobid': '169528', 'userid': '47', 'time': '2012-04-04 15:56:23.537'}
{'jobid': '284009', 'userid': '47', 'time': '2012-04-06 01:03:00.003'}
謝謝!
看來您想使用apps[x]["jobid"]
而不是apps.jobid
。
您應該使用應用列表。 然后,您可以使用字典查找語法x ['jobid']對Jobid進行排序。 它在這里處理示例數據:
csvreader = (
('user1', '2pm', 2),
('user2', '2pm', 3),
('user3', '2pm', 1)
)
apps = []
for row in csvreader:
apps.append({'userid': row[0], 'time': row[1], 'jobid': row[2]})
sorted_data = sorted(apps, key=lambda x:x['jobid'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.