Python:包含字典列表的字典

2024-03-28 17:36:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我在学python。以下词典包含一个列表,其中包含未来5天内每3小时的天气数据词典。此外,一些3hr子目录有一个包含dict的列表。我以前也研究过一个类似的问题,其中x['value']代表x in list\u of \u dicts]能够从列表中的dict中提取一个值。然而,在这里,我们有一个带有子列表dict的列表dict。我想提取的td,最高温度,最低温度,湿度,每3小时到他们自己的列表中设置的描述。任何能让我走上正确方向的东西都很感激。你知道吗

data = {u'city': {u'name': u'Pittsburgh', u'country': u'US', u'coord': {u'lat': 40.44062, u'lon': -79.995888}, u'sys': {u'population': 0}, u'id': 5206379, u'population': 0}, u'message': 0.0082, u'list': [{u'clouds': {u'all': 0}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-24 03:00:00', u'weather': [{u'main': u'Clear', u'id': 800, u'icon': u'01n', u'description': u'sky is clear'}], u'dt': 1443063600, u'main': {u'temp_kf': 0.01, u'temp': 57.56, u'grnd_level': 995.07, u'temp_max': 57.56, u'sea_level': 1037.72, u'humidity': 77, u'pressure': 995.07, u'temp_min': 57.55}, u'wind': {u'speed': 3.97, u'deg': 68.5021}}, {u'clouds': {u'all': 0}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-24 06:00:00', u'weather': [{u'main': u'Clear', u'id': 800, u'icon': u'01n', u'description': u'sky is clear'}], u'dt': 1443074400, u'main': {u'temp_kf': 0.01, u'temp': 52.43, u'grnd_level': 994.95, u'temp_max': 52.43, u'sea_level': 1037.71, u'humidity': 84, u'pressure': 994.95, u'temp_min': 52.41}, u'wind': {u'speed': 2.89, u'deg': 83.0009}}, {u'clouds': {u'all': 0}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-24 09:00:00', u'weather': [{u'main': u'Clear', u'id': 800, u'icon': u'01n', u'description': u'sky is clear'}], u'dt': 1443085200, u'main': {u'temp_kf': 0.01, u'temp': 50.2, u'grnd_level': 995.4, u'temp_max': 50.2, u'sea_level': 1038.45, u'humidity': 85, u'pressure': 995.4, u'temp_min': 50.18}, u'wind': {u'speed': 3.59, u'deg': 69.5009}}, {u'clouds': {u'all': 0}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-24 12:00:00', u'weather': [{u'main': u'Clear', u'id': 800, u'icon': u'01d', u'description': u'sky is clear'}], u'dt': 1443096000, u'main': {u'temp_kf': 0, u'temp': 51.19, u'grnd_level': 996.73, u'temp_max': 51.19, u'sea_level': 1039.68, u'humidity': 84, u'pressure': 996.73, u'temp_min': 51.18}, u'wind': {u'speed': 4.58, u'deg': 53.5024}}, {u'clouds': {u'all': 0}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-24 15:00:00', u'weather': [{u'main': u'Clear', u'id': 800, u'icon': u'01d', u'description': u'sky is clear'}], u'dt': 1443106800, u'main': {u'temp_kf': 0, u'temp': 69.3, u'grnd_level': 997.12, u'temp_max': 69.3, u'sea_level': 1039.7, u'humidity': 57, u'pressure': 997.12, u'temp_min': 69.28}, u'wind': {u'speed': 3.48, u'deg': 62.5043}}, {u'clouds': {u'all': 0}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-24 18:00:00', u'weather': [{u'main': u'Clear', u'id': 800, u'icon': u'01d', u'description': u'sky is clear'}], u'dt': 1443117600, u'main': {u'temp_kf': 0, u'temp': 74.53, u'grnd_level': 995.97, u'temp_max': 74.53, u'sea_level': 1038.33, u'humidity': 48, u'pressure': 995.97, u'temp_min': 74.52}, u'wind': {u'speed': 4.8, u'deg': 83.0021}}, {u'clouds': {u'all': 8}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-24 21:00:00', u'weather': [{u'main': u'Clear', u'id': 800, u'icon': u'02d', u'description': u'sky is clear'}], u'dt': 1443128400, u'main': {u'temp_kf': 0, u'temp': 74.5, u'grnd_level': 995.36, u'temp_max': 74.5, u'sea_level': 1037.64, u'humidity': 44, u'pressure': 995.36, u'temp_min': 74.49}, u'wind': {u'speed': 5.64, u'deg': 94.5118}}, {u'clouds': {u'all': 12}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-25 00:00:00', u'weather': [{u'main': u'Clouds', u'id': 801, u'icon': u'02n', u'description': u'few clouds'}], u'dt': 1443139200, u'main': {u'temp_kf': 0, u'temp': 65.32, u'grnd_level': 995.78, u'temp_max': 65.32, u'sea_level': 1038.44, u'humidity': 54, u'pressure': 995.78, u'temp_min': 65.31}, u'wind': {u'speed': 4.56, u'deg': 101.501}}, {u'clouds': {u'all': 20}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-25 03:00:00', u'weather': [{u'main': u'Clouds', u'id': 801, u'icon': u'02n', u'description': u'few clouds'}], u'dt': 1443150000, u'main': {u'temp_kf': 0, u'temp': 58.33, u'grnd_level': 996.43, u'temp_max': 58.33, u'sea_level': 1039.17, u'humidity': 70, u'pressure': 996.43, u'temp_min': 58.33}, u'wind': {u'speed': 3.56, u'deg': 89.0032}}, {u'clouds': {u'all': 12}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-25 06:00:00', u'weather': [{u'main': u'Clouds', u'id': 801, u'icon': u'02n', u'description': u'few clouds'}], u'dt': 1443160800, u'main': {u'temp_kf': 0, u'temp': 54.54, u'grnd_level': 996.37, u'temp_max': 54.54, u'sea_level': 1039.04, u'humidity': 83, u'pressure': 996.37, u'temp_min': 54.54}, u'wind': {u'speed': 3.07, u'deg': 87.5011}}, {u'clouds': {u'all': 8}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-25 09:00:00', u'weather': [{u'main': u'Clear', u'id': 800, u'icon': u'02n', u'description': u'sky is clear'}], u'dt': 1443171600, u'main': {u'temp_kf': 0, u'temp': 53.06, u'grnd_level': 996.15, u'temp_max': 53.06, u'sea_level': 1039.05, u'humidity': 85, u'pressure': 996.15, u'temp_min': 53.05}, u'wind': {u'speed': 4.23, u'deg': 105.503}}, {u'clouds': {u'all': 12}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-25 12:00:00', u'weather': [{u'main': u'Clouds', u'id': 801, u'icon': u'02d', u'description': u'few clouds'}], u'dt': 1443182400, u'main': {u'temp_kf': 0, u'temp': 54.07, u'grnd_level': 996.75, u'temp_max': 54.07, u'sea_level': 1039.58, u'humidity': 90, u'pressure': 996.75, u'temp_min': 54.06}, u'wind': {u'speed': 4.77, u'deg': 77.0009}}, {u'clouds': {u'all': 20}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-25 15:00:00', u'weather': [{u'main': u'Clouds', u'id': 801, u'icon': u'02d', u'description': u'few clouds'}], u'dt': 1443193200, u'main': {u'temp_kf': 0, u'temp': 68.11, u'grnd_level': 996.19, u'temp_max': 68.11, u'sea_level': 1038.76, u'humidity': 66, u'pressure': 996.19, u'temp_min': 68.11}, u'wind': {u'speed': 5.53, u'deg': 100.001}}, {u'clouds': {u'all': 12}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-25 18:00:00', u'weather': [{u'main': u'Clouds', u'id': 801, u'icon': u'02d', u'description': u'few clouds'}], u'dt': 1443204000, u'main': {u'temp_kf': 0, u'temp': 72.9, u'grnd_level': 994.79, u'temp_max': 72.9, u'sea_level': 1037.27, u'humidity': 55, u'pressure': 994.79, u'temp_min': 72.9}, u'wind': {u'speed': 6.18, u'deg': 108.001}}, {u'clouds': {u'all': 12}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-25 21:00:00', u'weather': [{u'main': u'Clouds', u'id': 801, u'icon': u'02d', u'description': u'few clouds'}], u'dt': 1443214800, u'main': {u'temp_kf': 0, u'temp': 72.32, u'grnd_level': 993.78, u'temp_max': 72.32, u'sea_level': 1036.15, u'humidity': 55, u'pressure': 993.78, u'temp_min': 72.32}, u'wind': {u'speed': 5.7, u'deg': 107.502}}, {u'clouds': {u'all': 32}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-26 00:00:00', u'weather': [{u'main': u'Clouds', u'id': 802, u'icon': u'03n', u'description': u'scattered clouds'}], u'dt': 1443225600, u'main': {u'temp_kf': 0, u'temp': 65.59, u'grnd_level': 993.76, u'temp_max': 65.59, u'sea_level': 1036.27, u'humidity': 64, u'pressure': 993.76, u'temp_min': 65.58}, u'wind': {u'speed': 4.54, u'deg': 110.503}}, {u'clouds': {u'all': 68}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-26 03:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04n', u'description': u'broken clouds'}], u'dt': 1443236400, u'main': {u'temp_kf': 0, u'temp': 61.14, u'grnd_level': 994.18, u'temp_max': 61.14, u'sea_level': 1036.73, u'humidity': 77, u'pressure': 994.18, u'temp_min': 61.13}, u'wind': {u'speed': 3.8, u'deg': 108.003}}, {u'clouds': {u'all': 56}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-26 06:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04n', u'description': u'broken clouds'}], u'dt': 1443247200, u'main': {u'temp_kf': 0, u'temp': 58.05, u'grnd_level': 993.88, u'temp_max': 58.05, u'sea_level': 1036.54, u'humidity': 86, u'pressure': 993.88, u'temp_min': 58.04}, u'wind': {u'speed': 3.48, u'deg': 89.5007}}, {u'clouds': {u'all': 76}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-26 09:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04n', u'description': u'broken clouds'}], u'dt': 1443258000, u'main': {u'temp_kf': 0, u'temp': 55.83, u'grnd_level': 993.2, u'temp_max': 55.84, u'sea_level': 1036.06, u'humidity': 85, u'pressure': 993.2, u'temp_min': 55.83}, u'wind': {u'speed': 3.61, u'deg': 61.0033}}, {u'clouds': {u'all': 64}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-26 12:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04d', u'description': u'broken clouds'}], u'dt': 1443268800, u'main': {u'temp_kf': 0, u'temp': 56.47, u'grnd_level': 993.43, u'temp_max': 56.47, u'sea_level': 1036.37, u'humidity': 75, u'pressure': 993.43, u'temp_min': 56.47}, u'wind': {u'speed': 3.8, u'deg': 61.5007}}, {u'clouds': {u'all': 76}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-26 15:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04d', u'description': u'broken clouds'}], u'dt': 1443279600, u'main': {u'temp_kf': 0, u'temp': 66.61, u'grnd_level': 994.08, u'temp_max': 66.61, u'sea_level': 1036.47, u'humidity': 58, u'pressure': 994.08, u'temp_min': 66.61}, u'wind': {u'speed': 3.37, u'deg': 75.5045}}, {u'clouds': {u'all': 88}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-26 18:00:00', u'weather': [{u'main': u'Clouds', u'id': 804, u'icon': u'04d', u'description': u'overcast clouds'}], u'dt': 1443290400, u'main': {u'temp_kf': 0, u'temp': 70.97, u'grnd_level': 993.41, u'temp_max': 70.97, u'sea_level': 1035.74, u'humidity': 51, u'pressure': 993.41, u'temp_min': 70.97}, u'wind': {u'speed': 5.85, u'deg': 94.0009}}, {u'clouds': {u'all': 76}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-26 21:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04d', u'description': u'broken clouds'}], u'dt': 1443301200, u'main': {u'temp_kf': 0, u'temp': 70.59, u'grnd_level': 992.53, u'temp_max': 70.59, u'sea_level': 1034.87, u'humidity': 51, u'pressure': 992.53, u'temp_min': 70.59}, u'wind': {u'speed': 4.88, u'deg': 108.502}}, {u'clouds': {u'all': 76}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-27 00:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04n', u'description': u'broken clouds'}], u'dt': 1443312000, u'main': {u'temp_kf': 0, u'temp': 65.28, u'grnd_level': 992.51, u'temp_max': 65.28, u'sea_level': 1034.9, u'humidity': 58, u'pressure': 992.51, u'temp_min': 65.28}, u'wind': {u'speed': 4.56, u'deg': 108.001}}, {u'clouds': {u'all': 48}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-27 03:00:00', u'weather': [{u'main': u'Clouds', u'id': 802, u'icon': u'03n', u'description': u'scattered clouds'}], u'dt': 1443322800, u'main': {u'temp_kf': 0, u'temp': 62.27, u'grnd_level': 992.82, u'temp_max': 62.27, u'sea_level': 1035.35, u'humidity': 64, u'pressure': 992.82, u'temp_min': 62.27}, u'wind': {u'speed': 4.99, u'deg': 112.5}}, {u'clouds': {u'all': 64}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-27 06:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04n', u'description': u'broken clouds'}], u'dt': 1443333600, u'main': {u'temp_kf': 0, u'temp': 61.98, u'grnd_level': 992.35, u'temp_max': 61.98, u'sea_level': 1034.97, u'humidity': 67, u'pressure': 992.35, u'temp_min': 61.98}, u'wind': {u'speed': 5.44, u'deg': 121.001}}, {u'clouds': {u'all': 92}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-27 09:00:00', u'weather': [{u'main': u'Clouds', u'id': 804, u'icon': u'04n', u'description': u'overcast clouds'}], u'dt': 1443344400, u'main': {u'temp_kf': 0, u'temp': 63.28, u'grnd_level': 992.33, u'temp_max': 63.28, u'sea_level': 1034.99, u'humidity': 73, u'pressure': 992.33, u'temp_min': 63.28}, u'wind': {u'speed': 5.4, u'deg': 125.503}}, {u'clouds': {u'all': 24}, u'rain': {u'3h': 0.02}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-27 12:00:00', u'weather': [{u'main': u'Rain', u'id': 500, u'icon': u'10d', u'description': u'light rain'}], u'dt': 1443355200, u'main': {u'temp_kf': 0, u'temp': 61.87, u'grnd_level': 992.7, u'temp_max': 61.87, u'sea_level': 1035.4, u'humidity': 71, u'pressure': 992.7, u'temp_min': 61.87}, u'wind': {u'speed': 6.39, u'deg': 117.002}}, {u'clouds': {u'all': 8}, u'rain': {}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-27 15:00:00', u'weather': [{u'main': u'Clear', u'id': 800, u'icon': u'02d', u'description': u'sky is clear'}], u'dt': 1443366000, u'main': {u'temp_kf': 0, u'temp': 67.05, u'grnd_level': 992.61, u'temp_max': 67.05, u'sea_level': 1035.13, u'humidity': 62, u'pressure': 992.61, u'temp_min': 67.05}, u'wind': {u'speed': 7.34, u'deg': 123.5}}, {u'clouds': {u'all': 8}, u'rain': {}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-27 18:00:00', u'weather': [{u'main': u'Clear', u'id': 800, u'icon': u'02d', u'description': u'sky is clear'}], u'dt': 1443376800, u'main': {u'temp_kf': 0, u'temp': 71.23, u'grnd_level': 990.89, u'temp_max': 71.23, u'sea_level': 1033.19, u'humidity': 58, u'pressure': 990.89, u'temp_min': 71.23}, u'wind': {u'speed': 7.58, u'deg': 130.501}}, {u'clouds': {u'all': 76}, u'rain': {}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-27 21:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04d', u'description': u'broken clouds'}], u'dt': 1443387600, u'main': {u'temp_kf': 0, u'temp': 70.29, u'grnd_level': 989.6, u'temp_max': 70.29, u'sea_level': 1031.57, u'humidity': 58, u'pressure': 989.6, u'temp_min': 70.29}, u'wind': {u'speed': 6.72, u'deg': 135.502}}, {u'clouds': {u'all': 56}, u'rain': {}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-28 00:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04n', u'description': u'broken clouds'}], u'dt': 1443398400, u'main': {u'temp_kf': 0, u'temp': 66.64, u'grnd_level': 989.15, u'temp_max': 66.64, u'sea_level': 1031.36, u'humidity': 61, u'pressure': 989.15, u'temp_min': 66.64}, u'wind': {u'speed': 5.64, u'deg': 124}}, {u'clouds': {u'all': 12}, u'rain': {}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-28 03:00:00', u'weather': [{u'main': u'Clouds', u'id': 801, u'icon': u'02n', u'description': u'few clouds'}], u'dt': 1443409200, u'main': {u'temp_kf': 0, u'temp': 63.5, u'grnd_level': 989.04, u'temp_max': 63.5, u'sea_level': 1031.28, u'humidity': 73, u'pressure': 989.04, u'temp_min': 63.5}, u'wind': {u'speed': 4.04, u'deg': 122.001}}, {u'clouds': {u'all': 64}, u'rain': {}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-28 06:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04n', u'description': u'broken clouds'}], u'dt': 1443420000, u'main': {u'temp_kf': 0, u'temp': 61.08, u'grnd_level': 988.07, u'temp_max': 61.08, u'sea_level': 1030.23, u'humidity': 84, u'pressure': 988.07, u'temp_min': 61.08}, u'wind': {u'speed': 2.61, u'deg': 113.002}}, {u'clouds': {u'all': 44}, u'rain': {}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-28 09:00:00', u'weather': [{u'main': u'Clouds', u'id': 802, u'icon': u'03n', u'description': u'scattered clouds'}], u'dt': 1443430800, u'main': {u'temp_kf': 0, u'temp': 59.5, u'grnd_level': 986.83, u'temp_max': 59.5, u'sea_level': 1029.11, u'humidity': 91, u'pressure': 986.83, u'temp_min': 59.5}, u'wind': {u'speed': 2.27, u'deg': 56.5018}}, {u'clouds': {u'all': 80}, u'rain': {u'3h': 0.3}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-28 12:00:00', u'weather': [{u'main': u'Rain', u'id': 500, u'icon': u'10d', u'description': u'light rain'}], u'dt': 1443441600, u'main': {u'temp_kf': 0, u'temp': 60.91, u'grnd_level': 987.38, u'temp_max': 60.91, u'sea_level': 1029.65, u'humidity': 91, u'pressure': 987.38, u'temp_min': 60.91}, u'wind': {u'speed': 2.72, u'deg': 69.5012}}, {u'clouds': {u'all': 68}, u'rain': {u'3h': 0.105}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-28 15:00:00', u'weather': [{u'main': u'Rain', u'id': 500, u'icon': u'10d', u'description': u'light rain'}], u'dt': 1443452400, u'main': {u'temp_kf': 0, u'temp': 65.99, u'grnd_level': 987.52, u'temp_max': 65.99, u'sea_level': 1029.39, u'humidity': 82, u'pressure': 987.52, u'temp_min': 65.99}, u'wind': {u'speed': 2.51, u'deg': 134}}, {u'clouds': {u'all': 64}, u'rain': {}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-28 18:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04d', u'description': u'broken clouds'}], u'dt': 1443463200, u'main': {u'temp_kf': 0, u'temp': 73.27, u'grnd_level': 986.01, u'temp_max': 73.27, u'sea_level': 1027.85, u'humidity': 67, u'pressure': 986.01, u'temp_min': 73.27}, u'wind': {u'speed': 3.26, u'deg': 317}}, {u'clouds': {u'all': 24}, u'rain': {}, u'sys': {u'pod': u'd'}, u'dt_txt': u'2015-09-28 21:00:00', u'weather': [{u'main': u'Clouds', u'id': 801, u'icon': u'02d', u'description': u'few clouds'}], u'dt': 1443474000, u'main': {u'temp_kf': 0, u'temp': 74.91, u'grnd_level': 984.9, u'temp_max': 74.91, u'sea_level': 1026.68, u'humidity': 63, u'pressure': 984.9, u'temp_min': 74.91}, u'wind': {u'speed': 3.02, u'deg': 297.003}}, {u'clouds': {u'all': 56}, u'rain': {}, u'sys': {u'pod': u'n'}, u'dt_txt': u'2015-09-29 00:00:00', u'weather': [{u'main': u'Clouds', u'id': 803, u'icon': u'04n', u'description': u'broken clouds'}], u'dt': 1443484800, u'main': {u'temp_kf': 0, u'temp': 69.44, u'grnd_level': 985.46, u'temp_max': 69.44, u'sea_level': 1027.29, u'humidity': 73, u'pressure': 985.46, u'temp_min': 69.44}, u'wind': {u'speed': 2.27, u'deg': 234.002}}], u'cod': u'200', u'cnt': 40}

Tags: txtidmainsysdtdescriptionalllevel
3条回答

如果数据纯粹由目录和数组组成,那么它应该是json格式的。你知道吗

import json
json.loads(data) 

应该有用。我试过了,但你的数据好像有问题。。。 当您获得正确的数据时,以json方式处理数据会有很大帮助。你知道吗

由于Stackoverflow问题的大小限制,我对数据进行了格式化,以便更容易阅读,并获取了一个子集。但你应该能理解其中的要点。这里有一个打印所需值的循环示例,因此您所要做的就是将其存储在所需的任何数据结构中。你知道吗

#!/usr/bin/python

data = {
    u'city': {
        u'name': u'Pittsburgh',
        u'country': u'US',
        u'coord': {u'lat': 40.44062, u'lon': -79.995888},
        u'sys': {u'population': 0},
        u'id': 5206379,
        u'population': 0,
        },
    u'message': 0.0082,
    u'list': [
        {
            u'clouds': {u'all': 0},
            u'sys': {u'pod': u'n'},
            u'dt_txt': u'2015-09-24 03:00:00',
            u'weather': [{
                u'main': u'Clear',
                u'id': 800,
                u'icon': u'01n',
                u'description': u'sky is clear',
                }],
            u'dt': 1443063600,
            u'main': {
                u'temp_kf': 0.01,
                u'temp': 57.56,
                u'grnd_level': 995.07,
                u'temp_max': 57.56,
                u'sea_level': 1037.72,
                u'humidity': 77,
                u'pressure': 995.07,
                u'temp_min': 57.55,
                },
            u'wind': {u'speed': 3.97, u'deg': 68.5021},
            },
        {
            u'clouds': {u'all': 0},
            u'sys': {u'pod': u'n'},
            u'dt_txt': u'2015-09-24 06:00:00',
            u'weather': [{
                u'main': u'Clear',
                u'id': 800,
                u'icon': u'01n',
                u'description': u'sky is clear',
                }],
            u'dt': 1443074400,
            u'main': {
                u'temp_kf': 0.01,
                u'temp': 52.43,
                u'grnd_level': 994.95,
                u'temp_max': 52.43,
                u'sea_level': 1037.71,
                u'humidity': 84,
                u'pressure': 994.95,
                u'temp_min': 52.41,
                },
            u'wind': {u'speed': 2.89, u'deg': 83.0009},
            },
        {
            u'clouds': {u'all': 0},
            u'sys': {u'pod': u'n'},
            u'dt_txt': u'2015-09-24 09:00:00',
            u'weather': [{
                u'main': u'Clear',
                u'id': 800,
                u'icon': u'01n',
                u'description': u'sky is clear',
                }],
            u'dt': 1443085200,
            u'main': {
                u'temp_kf': 0.01,
                u'temp': 50.2,
                u'grnd_level': 995.4,
                u'temp_max': 50.2,
                u'sea_level': 1038.45,
                u'humidity': 85,
                u'pressure': 995.4,
                u'temp_min': 50.18,
                },
            u'wind': {u'speed': 3.59, u'deg': 69.5009},
            },
        {
            u'clouds': {u'all': 0},
            u'sys': {u'pod': u'd'},
            u'dt_txt': u'2015-09-24 12:00:00',
            u'weather': [{
                u'main': u'Clear',
                u'id': 800,
                u'icon': u'01d',
                u'description': u'sky is clear',
                }],
            u'dt': 1443096000,
            u'main': {
                u'temp_kf': 0,
                u'temp': 51.19,
                u'grnd_level': 996.73,
                u'temp_max': 51.19,
                u'sea_level': 1039.68,
                u'humidity': 84,
                u'pressure': 996.73,
                u'temp_min': 51.18,
                },
            u'wind': {u'speed': 4.58, u'deg': 53.5024},
            },
        {
            u'clouds': {u'all': 0},
            u'sys': {u'pod': u'd'},
            u'dt_txt': u'2015-09-24 15:00:00',
            u'weather': [{
                u'main': u'Clear',
                u'id': 800,
                u'icon': u'01d',
                u'description': u'sky is clear',
                }],
            u'dt': 1443106800,
            u'main': {
                u'temp_kf': 0,
                u'temp': 69.3,
                u'grnd_level': 997.12,
                u'temp_max': 69.3,
                u'sea_level': 1039.7,
                u'humidity': 57,
                u'pressure': 997.12,
                u'temp_min': 69.28,
                },
            u'wind': {u'speed': 3.48, u'deg': 62.5043},
            },
        {
            u'clouds': {u'all': 0},
            u'sys': {u'pod': u'd'},
            u'dt_txt': u'2015-09-24 18:00:00',
            u'weather': [{
                u'main': u'Clear',
                u'id': 800,
                u'icon': u'01d',
                u'description': u'sky is clear',
                }],
            u'dt': 1443117600,
            u'main': {
                u'temp_kf': 0,
                u'temp': 74.53,
                u'grnd_level': 995.97,
                u'temp_max': 74.53,
                u'sea_level': 1038.33,
                u'humidity': 48,
                u'pressure': 995.97,
                u'temp_min': 74.52,
                },
            u'wind': {u'speed': 4.8, u'deg': 83.0021},
            },
        {
            u'clouds': {u'all': 8},
            u'sys': {u'pod': u'd'},
            u'dt_txt': u'2015-09-24 21:00:00',
            u'weather': [{
                u'main': u'Clear',
                u'id': 800,
                u'icon': u'02d',
                u'description': u'sky is clear',
                }],
            u'dt': 1443128400,
            u'main': {
                u'temp_kf': 0,
                u'temp': 74.5,
                u'grnd_level': 995.36,
                u'temp_max': 74.5,
                u'sea_level': 1037.64,
                u'humidity': 44,
                u'pressure': 995.36,
                u'temp_min': 74.49,
                },
            u'wind': {u'speed': 5.64, u'deg': 94.5118},
            },
        {
            u'clouds': {u'all': 12},
            u'sys': {u'pod': u'n'},
            u'dt_txt': u'2015-09-25 00:00:00',
            u'weather': [{
                u'main': u'Clouds',
                u'id': 801,
                u'icon': u'02n',
                u'description': u'few clouds',
                }],
            u'dt': 1443139200,
            u'main': {
                u'temp_kf': 0,
                u'temp': 65.32,
                u'grnd_level': 995.78,
                u'temp_max': 65.32,
                u'sea_level': 1038.44,
                u'humidity': 54,
                u'pressure': 995.78,
                u'temp_min': 65.31,
                },
            u'wind': {u'speed': 4.56, u'deg': 101.501},
            },
        {
            u'clouds': {u'all': 20},
            u'sys': {u'pod': u'n'},
            u'dt_txt': u'2015-09-25 03:00:00',
            u'weather': [{
                u'main': u'Clouds',
                u'id': 801,
                u'icon': u'02n',
                u'description': u'few clouds',
                }],
            u'dt': 1443150000,
            u'main': {
                u'temp_kf': 0,
                u'temp': 58.33,
                u'grnd_level': 996.43,
                u'temp_max': 58.33,
                u'sea_level': 1039.17,
                u'humidity': 70,
                u'pressure': 996.43,
                u'temp_min': 58.33,
                },
            u'wind': {u'speed': 3.56, u'deg': 89.0032},
            }
        ],
    u'cod': u'200',
    u'cnt': 40,
    }



for d in data['list']:
     # print d['dt_txt']
     print "Temp max = %s " % d['main']['temp_max']
     print "Temp min = %s " % d['main']['temp_min']
     print "Humidity = %s " % d['main']['humidity']
     print "Weather = %s " % d['weather'][0]['description']
     print "   -"

这对我有用。第一个函数中的arg是上面的data={json…}。谢谢伊尼克给我指出了正确的方向。我对python还是很陌生的。你知道吗

def weather_forecast(arg):
    dt_list = []
    temp_list = []
    humidity_list = []
    description_list = []
    for d in arg['list']:
        dt_list.append(d['dt'])
        temp_list.append(d['main']['temp'])
        humidity_list.append(d['main']['humidity'])
        description_list.append(d['weather'][0]['description'])

    date = dt_time(dt_list)
    temp = tempF(temp_list)
    humidity = humidity_percent(humidity_list)
    description = desc_func(description_list)
    mdict = OrderedDict((z[0],list(z[1:])) for z in zip(date, temp, description))
    for k,v in mdict.items():
        print("{}: {}".format(k,v))

def dt_time(arg):
    date = []
    for item in arg:
        x = datetime.datetime.strptime(time.ctime(item), "%a %b %d %H:%M:%S %Y")
        y = str(x)
        date.append(y)
    return date

def tempF(arg):
    temp = []
    for item in arg:
        t = "%s F" % item
        temp.append(t)
    return temp

def humidity_percent(arg):
    humidity = []
    for item in arg:
        h = "%s%%" % item
        humidity.append(h)
    return humidity

def desc_func(arg):
    desc = []
    for item in arg:
        desc.append(item.encode("utf-8"))
    return desc

相关问题 更多 >