我的代码从 NOAA 的浮标服务读取数据。该网址采用 .txt 格式,然后我的代码使用该格式根据变量在列表中的位置分配变量。通常,我分配变量“lines”的列表将包含以下信息:
['Station CAMM2', "38° 34.4' N 76° 4.1' W", '', '3:00 pm EDT', '1900 GMT 05/22/24', 'Wind: SSW (210°), 9.9 kt', 'Gust: 15.0 kt', 'Pres: 29.96 falling', 'Air Temp: 82.8 °F', 'Water Temp: 68.5 °F', '']
我想这样分配变量:
when = lines[3]
wind = lines[5]
gust = lines[6]
pressure = lines[7]
air_temp = lines[8]
water_temp = lines[9]
但是,有时文本源中会缺少一个或多个这些元素。例如,提要中将缺少
air_temp
,因此 water_temp = lines[9]
将导致索引外错误。我知道这是基本的,但是如何从并不总是具有相同数量元素的列表中分配变量?
循环列表并根据元素的内容分配给正确的变量:
when = lines[3]
for item in lines:
if item.startswith('Wind:'):
wind = item
elif item.startswith('Gust:'):
gust = item
# and so on