У меня есть грязный суп, который я пытался разобрать и не могу понять, как бы это сделать. На странице есть несколько тегов <div>
, и я могу успешно просмотреть их все, чтобы найти нужный мне div.
Этот div имеет настраиваемый атрибут под названием "data-series"
, значение которого, похоже, представляет собой некоторый список словарей, содержащих списки. Значение атрибута data-series выглядит так:
<div data-series=
'[{"label":"Series 1","data":[[0,0.01214697],[1,0.01139803],[2,0.0101848]],"color":"#27a9e3"},
{"label":"series 2","data":[[0,0.00745604375],[1,0.00885196875],[2,0.009824050833]],"color":"#ffb848"}]'....
Затем он переходит к другим настраиваемым атрибутам. Я хочу вытащить одно из чисел в этом беспорядке
Значение, которое я хочу распечатать, - 0.01139803
. В списке он находится в первом словаре и является значением ключа "data"
. Но значение ключа "data"
само по себе является списком и является вторым элементом второго вложенного элемента ([1][1]
)
Как мне вытащить это число с помощью красивого супа?
1 ответ
Строка для data-series
- это данные "JSON" (нотация объектов JavaScript). Вы можете использовать json.loads ()
a>, чтобы преобразовать эту строку в структуры данных Python, а затем обработать результат так же, как и любые list
и dict
:
>>> import json
>>> s = '[{"label":"Series 1","data":[[0,0.01214697],[1,0.01139803],[2,0.0101848]],"color":"#27a9e3"},{"label":"series 2","data":[[0,0.00745604375],[1,0.00885196875],[2,0.009824050833]],"color":"#ffb848"}]'
>>> d = json.loads(s)
>>> d[0]['data'][1][1]
0.01139803
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.