我试图从国家气象局收集天气数据,并将其读入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={...}
谢谢!在
看,根据这个问题,我假设你有文本形式的数据,而这些数据不是有效的JSON数据,所以如果我们有一个文本,比如:
line = "stations={'KAPC':{'id':'KAPC', 'stnid':'92', 'name':'Napa, Napa County Airport'}}"
(比方说),那么我们可以通过在=
符号处拆分它来提取字典,然后使用eval()
方法用所需的数据初始化dictionary变量。在{{cd4}现在可以像Python一样使用一个键对来访问
相关问题 更多 >
编程相关推荐