Код, который я использую ниже, является функцией, которая позволяет мне получать данные из API:
def get_evt(adresse, id_machine, bucket_size, token, data):
TO_DATE = datetime.strptime("25/11/2019, 22:00:00", "%d/%m/%Y, %H:%M:%S").timetuple()
param = {
"from": int((mktime(TO_DATE) - (60 * 60 * HOUR_DIFF)) * 1000),
"to": int(mktime(TO_DATE) * 1000),
"bucketSize": bucket_size,
"queries": [
{
"signal": data,
"aggregationFunction": "raw",
"groupBy": {
"type": "machine",
"id": id_machine
}
}
]
}
liste = []
resp = requests.post(adresse, headers=token, json=param)
if resp.status_code != 200:
# This means something went wrong.
print('ERROR ', resp.status_code, ': ', resp.json()["message"])
print(resp.json()["message"])
else:
signalsData = resp.json()
for param in range(len(signalsData)):
values = signalsData[param]['timeseries']
print(values)
for value in values:
timestamp = int(value['time']/bucket_size)
valeur = value['value']
return timestamp, valeur
Однако в этом коде это для l oop выполняется только один раз:
for value in values:
timestamp = int(value['time']/bucket_size)
valeur = value['value']
return timestamp, valeur
Чего я хотел бы добиться, так это как-то получить первое и последнее значение списка «значений», но я не понимаю, почему l oop работает только один раз, даже если значения содержат несколько значений.