Я вызываю данные о погоде из API в мой python скрипт. У меня разные станции и разные параметры. Каждая из станций предоставляет данные для всех параметров.
По сути, я хочу сохранить ответ, полученный от API, в файл, используя для l oop. Я не хочу создавать много CSV-файлов для хранения ответа API.
Код:
headers = {'Accept-Encoding': 'gzip'}
keys = ["1", "11", "14", "10", "25"] # Клавиши параметров
ATS = ['52350', '62040', '62180', '62400', «64030», «64510», «65510», «66420», «71190», «71420», «71510», «72090», «72140», «72420», «74080», «74300», «74440» ',' 74460 ',' 74480 ',' 74490 ',' 75520 ',' 76160 ',' 76420 ',' 77210 ',' 78140 ',' 81040 ',' 81350 ',' 82110 ',' 82230 ', «83210», «83270», «83420», «84310», «84340», «84520», «85180», «85240», «85390», «85490», «86420», «92100», «92130 ',' 92410 ',' 93220 ',' 93520 ',' 94390 ',' 95130 ',' 95540 ',' 96040 ',' 96040 ',' 96190 ',' 96190 ',' 97120 ',' 97200 ', «97200», «97280», «97400», «97510», «97530», «98140», «98160», «98230», «98490», «104580», «105220», «105260», «105450 ',' 106570 ',' 107420 ',' 116430 ',' 140480 ',' 151380 ',' 161710 '] # Станции
for x in keys:
for s in ATS:
r11 = requests.get("https://opendata-download metobs.smhi.se/api/version/latest/parameter/"+x+"/station/"+s+"/period/corrected-archive/data.csv", headers=headers)
#print(r11.status_code)
y = r11.status_code
if y == 404:
print("Parameter", x, "Station", s)
print("Station do not produce data for the specific parameter, requests points to a resource that does not exists")
continue
print("Status code", y, "Parameter", x, "Station", s)
d = r11.text
with open("test.csv", "w", encoding="utf-8") as f:
f.write(d)
df1 = pd.read_csv("test.csv", sep = ";", header=3, infer_datetime_format= True, encoding="ISO-8859–1" ,skiprows=6)
df1
Вызов данных из API
Выход
Я сохраняю этот вывод в CSV-файл с помощью с открытым; Сохранение вывода в файл CSV
Теперь я хочу получить эти данные с разных станций (около 190 станций) для разных параметров (температура, скорость ветра, облучение) и сохранить их в CSV-файл, чтобы я мог использовать его в расчетах. Я не хочу создавать новый CSV-файл для данных с каждой станции и повторять код, поэтому я пытаюсь использовать для l oop.
Я использую для l oop, чтобы выполнить итерацию и получить данные для каждой станции и параметра и сохранить ответ в переменной, а затем распечатать его на экране, но, как и все oop, значение переменной обновляется каждый раз (изменяется с каждой итерацией, получает новые данные с другой станции).
Есть ли способ получить доступ к данным / ответу / значению переменной в предыдущей итерации для l oop?
Каков наилучший способ сохранить вывод / данные со всех станций без создания большого количества CSV-файлов?
для l oop для перебора станций и параметров и сохранения файл в формате csv