【发布时间】:2021-08-04 21:21:23
【问题描述】:
我正在尝试通过遍历天气 JSON 文件来创建字典。
我希望键是日期,值是 JSON 中嵌套“小时”中的温度。
combined_temperature_hour = {日期,温度}
当我遍历 JSON 文件时,我可以获得单个项目,但我不知道如何获取这两个值并将它们放在一个(键,值)对中。
combined_temperature_hour = {}
for d in days:
for hours in d["hours"]:
hourly = hours.get('datetimeEpoch')
dia_y_hora = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(hourly))
complete_date.append(dia_y_hora)
h_temp = hours.get('temp')
hourly_temperature.append(h_temp)
#combined
combined = {complete_date, hourly_temperature}
print(combined)
JSON
"days":[
{
"datetime":"2021-01-01",
"datetimeEpoch":1609484400,
"tempmax":36.9,
"tempmin":32.4,
"temp":34.7,
"hours":[
{
"datetime":"00:00:00",
"datetimeEpoch":1609484400,
"temp":32.9,
},
{
"datetime":"01:00:00",
"datetimeEpoch":1609488000,
"temp":33.2,
},
{
"datetime":"02:00:00",
"datetimeEpoch":1609491600,
"temp":33.2,
}
]
}
这就是我希望字典在循环后的样子
combined_temperature_hour = {`2021-01-24 05:00:00`: '25.1', `2021-01-24 06:00:00`: '26.2'}
我尝试获取温度和小时的列表,并在循环后将它们组合到字典中,但我注意到我缺少值并且它们可能是不正确的对。
【问题讨论】:
-
您确定要以温度为关键吗?如果有多次相同的温度怎么办?
-
时间成为关键会更有意义。
-
这是一个很好的观点。我没有想过重复的温度。我应该让日期成为关键。我将更新我的问题以扭转这一点。谢谢@Barmar
-
这是一个基本的字典操作:
combined_temperature_hour[dia_y_hora] = h_temp