簡體   English   中英

根據值對Python字典排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM