Выбор указанной строки c в списке строк в python - PullRequest
0 голосов
/ 03 марта 2020

У меня есть строка, которая печатает следующее, сохраненное в виде списка. Вот как у меня есть список, созданный в текущем формате

for ticker_list in ticker_list_items:
    ticker = ticker_list.contents[0]
<div id="T-THO">
<div class="confirm icon-check" title="Last confirmed on 2/18/2020"></div>
<div class="company" onclick="javascript:location.href='stocks/tho'">Thor Industries, Inc.</div>
<div class="ticker" onclick="javascript:location.href='stocks/tho'">THO</div>
<div class="time" onclick="javascript:location.href='stocks/tho'">6:45 AM ET</div>
<div class="epstitle" onclick="javascript:location.href='stocks/tho'">EPS:</div>
<div class="revtitle" onclick="javascript:location.href='stocks/tho'">Rev:</div>
<div class="estimate" onclick="javascript:location.href='stocks/tho'">$0.76</div>
<div class="revest" onclick="javascript:location.href='stocks/tho'">$1.79 B</div>
<div class="revgrowthprint">38.7%</div>

Это сохраняется как список с 6 другими строками в очень похожем формате. Моя цель - извлечь данные из этой первой строки, содержащей div id ..., и сохранить их как новый список.

некоторые строки в этом списке имеют более одного экземпляра div id. .. '

Я пытаюсь сделать это за a для l oop, но действительно теряюсь в способах сохранить строку, основанную на первом числе символов "x".

1 Ответ

0 голосов
/ 03 марта 2020

Я предполагаю, что эти данные поступают с веб-сайта, и в этом случае самым простым способом было бы использовать какой-то парсер, разработанный для этого (например, BeautifulSoup). В качестве альтернативы вы можете определить какой-либо шаблон, который вы ищете, и самостоятельно проанализировать данные, используя модуль, такой как re, который стандартно поставляется с python.

import re

ticker_list = ["""<div id="T-THO">
<div class="confirm icon-check" title="Last confirmed on 2/18/2020"></div>
<div class="company" onclick="javascript:location.href='stocks/tho'">Thor Industries, Inc.</div>
<div class="ticker" onclick="javascript:location.href='stocks/tho'">THO</div>
<div class="time" onclick="javascript:location.href='stocks/tho'">6:45 AM ET</div>
<div class="epstitle" onclick="javascript:location.href='stocks/tho'">EPS:</div>
<div class="revtitle" onclick="javascript:location.href='stocks/tho'">Rev:</div>
<div class="estimate" onclick="javascript:location.href='stocks/tho'">$0.76</div>
<div class="revest" onclick="javascript:location.href='stocks/tho'">$1.79 B</div>
<div class="revgrowthprint">38.7%</div>""", """<div id="Section 2">"""]

title_list = []
for ticker in ticker_list:
    name_div = re.search('<div id=".+?">', ticker).group() # matches <div id="T-THO">
    title = re.search('".+?"', name_div).group()[1:-1] # matches "T-THO" and gets all but " chars
    title_list.append(title)

print(title_list)

Результат:

['T-THO', 'Section 2']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...