Python词典来自u

2024-06-28 19:21:39 发布

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

我试图从国家气象局收集天气数据,并将其读入python脚本。它们提供了一个JSON返回,但也提供了另一个不是JSON格式的返回,而是有更多的变量(我想要)。这组数据看起来像是一个python字典。看起来像这样:

stations={
KAPC:
{
'id':'KAPC',
'stnid':'92',
'name':'Napa, Napa County Airport',
'elev':'33',
'latitude':'38.20750',
'longitude':'-122.27944',
'distance':'',
'provider':'NWS/FAA',
'link':'http://www.wrh.noaa.gov/mesowest/getobext.php?sid=KAPC',
'Date':'24 Feb 8:54 am',
'Temp':'39',
'TempC':'4',
'Dewp':'29',
'Relh':'67',
'Wind':'NE@6',
'Direction':'50&#176',
'Winds':'6',
'WindChill':'35',
'Windd':'50',
'SLP':'1027.1',
'Altimeter':'30.36',
'Weather':'',
'Visibility':'10.00',
'Wx':'',
'Clouds':'CLR',
[...]

所以,在我看来,它有一个定义好的变量stations,等于一个包含stations及其变量的字典。我的问题是如何访问这些数据。现在我正在尝试:

^{pr2}$

如果我尝试使用JSON模块,显然会失败,因为这不是JSON。如果我试着读这个文件,它会返回一个很长的字符串。关于如何提取这些数据有什么建议吗?如果可能,我只想得到字典,因为它存在于url返回,即stations={...}谢谢!在


Tags: 数据name脚本idjson字典格式国家
1条回答
网友
1楼 · 发布于 2024-06-28 19:21:39

看,根据这个问题,我假设你有文本形式的数据,而这些数据不是有效的JSON数据,所以如果我们有一个文本,比如:line = "stations={'KAPC':{'id':'KAPC', 'stnid':'92', 'name':'Napa, Napa County Airport'}}"(比方说),那么我们可以通过在=符号处拆分它来提取字典,然后使用eval()方法用所需的数据初始化dictionary变量。在

dictionary_text = line.split("=")[1]

python_dictionary = eval(dictionary_text)

print python_dictionary
>>> {'KAPC': {'id': 'KAPC', 'name': 'Napa, Napa County Airport', 'stnid': '92'}}

{{cd4}现在可以像Python一样使用一个键对来访问

相关问题 更多 >