我终于开始学习Python,并完成了我的第一本Udemy课程,并开始了我的项目。我尝试搜索论坛,但无法真正直接找到答案。
我有一个以JSON格式向员工数据库发送API的请求,该请求简化如下:
"Employees": {
"Arny Arnoldsen": {
"Employee_ID" : "0001",
"Title" : "Accounts Manager",
"Address 1" : "Cheery road 3",
"Address 2" : "Georgia"
},
"Burt Burtsen": {
"Employee_ID" : "0002",
"Title" : "Sales Manager",
"Address 1" : "Destiny street 23",
"Address 2" : "Las Vegas"
},
"Carl Carlsen": {
"Employee_ID" : "0003",
"Title" : "Operational Manager",
"Address 1" : "Sunshine road 42",
"Address 2" : "Miami"
}
}
要获取我的雇员列表,我只需使用
for employee in employees:
print(employee)
当我想使用Employee_ID搜索员工时,出现第二个问题。由于GDPR等原因,我没有得到任何名字,但可能有f.eks。 “ Employee_ID” 0002,我需要返回Burt Burtsen。
我可以“查看”字典和列表,但似乎不知道该怎么做。我希望这里的人可以提供帮助:)
答案 0 :(得分:0)
赞
data = {"Employees": {
"Arny Arnoldsen": {
"Employee_ID" : "0001",
"Title" : "Accounts Manager",
"Address 1" : "Cheery road 3",
"Address 2" : "Georgia"
},
"Burt Burtsen": {
"Employee_ID" : "0002",
"Title" : "Sales Manager",
"Address 1" : "Destiny street 23",
"Address 2" : "Las Vegas"
},
"Carl Carlsen": {
"Employee_ID" : "0003",
"Title" : "Operational Manager",
"Address 1" : "Sunshine road 42",
"Address 2" : "Miami"
}
}
}
for emp in data["Employees"]:
if data["Employees"][emp]["Employee_ID"] == "0002":
print(emp)
运行dict的foreach循环时,您将获得每个键作为迭代变量。员工姓名是您数据结构中的关键。
答案 1 :(得分:0)
一种简单的方法是:
d = {
"Employees": {
"Arny Arnoldsen": {
"Employee_ID" : "0001",
"Title" : "Accounts Manager",
"Address 1" : "Cheery road 3",
"Address 2" : "Georgia"
},
"Burt Burtsen": {
"Employee_ID" : "0002",
"Title" : "Sales Manager",
"Address 1" : "Destiny street 23",
"Address 2" : "Las Vegas"
},
"Carl Carlsen": {
"Employee_ID" : "0003",
"Title" : "Operational Manager",
"Address 1" : "Sunshine road 42",
"Address 2" : "Miami"
}
}
}
def find_emp(d, query):
for k,v in d['Employees'].items():
if v.get("Employee_ID") == query:
return k
emp_name = find_emp(d, "0003")
# Carl Carlsen