Форум сайта python.su
Считываю строку и вижу её структуру. А как из этой строки получить, например, словарь?
Вообще то мне для работы пока нужны только цифры из “data” и ещё вопрос получения дата-время из первого числа в каждом из массивов “data”, но это решаемо.
Строка:
[{"tickerId":913354090, "dates":[{"type":"T","start":"09:31:00","end":"16:00:00","avgShow":0}], "data":["1635739200,15541.26,15595.92,15598.95,15470.82,15498.39,842992158,null", "1635480000,15323.29,15498.39,15504.12,15323.29,15448.12,797083427,null", "1634616000,15073.13,15129.09,15137.85,15049.73,15021.81,669318318,null"], "cleanTime":1635859800000,"cleanDuration":5}]
Отредактировано byteman (Ноя. 2, 2021 12:51:29)
Офлайн
bytemanсчитывайте с помощью библиотеки json,
Считываю строку и вижу её структуру.
Офлайн
byteman
А как из этой строки получить, например, словарь?
Вообще то мне для работы пока нужны только цифры из “data”
>>> import json >>> >>> text = """ ... [{"tickerId":913354090, ... "dates":[{"type":"T","start":"09:31:00","end":"16:00:00","avgShow":0}], ... "data":["1635739200,15541.26,15595.92,15598.95,15470.82,15498.39,842992158,null", ... "1635480000,15323.29,15498.39,15504.12,15323.29,15448.12,797083427,null", ... "1634616000,15073.13,15129.09,15137.85,15049.73,15021.81,669318318,null"], ... "cleanTime":1635859800000,"cleanDuration":5}] ... """ >>> >>> data = json.loads(text) >>> >>> out = data[0]['data'] >>> out ['1635739200,15541.26,15595.92,15598.95,15470.82,15498.39,842992158,null', '1635480000,15323.29,15498.39,15504.12,15323.29,15448.12,797083427,null', '1634616000,15073.13,15129.09,15137.85,15049.73,15021.81,669318318,null'] >>>
byteman
и ещё вопрос получения дата-время из первого числа в каждом из массивов “data”
>>> import datetime >>> >>> def get_datetime(text): ... unix_seconds = int(text.split(',', 1)[0]) ... datetime_data = datetime.datetime.fromtimestamp(unix_seconds) ... out = '{:%d %B %Y %H:%M}'.format(datetime_data) ... return out ... >>> text = '1635739200,15541.26,15595.92,15598.95,15470.82,15498.39,842992158,null' >>> >>> out = get_datetime(text) >>> out '01 November 2021 15:00' >>>
Офлайн
Спасибо за полные и точные ответы. Всё получилось отлично.
Офлайн