Моя цель - вернуть пустое значение, где нет второй итерации до go через в моем for l oop, чтобы я мог последовательно заполнять две записи за итерацию. Описание ниже:
У меня есть основная таблица на веб-странице, которая содержит вложенные таблицы, каждая из которых имеет две строки, из которых я хотел бы извлечь данные.
Я хочу извлечь две точки данных из первой строки каждой таблицы.
Приведенный ниже код в настоящее время выполняет итерацию по первой строке каждой таблицы и получает текстовое значение каждого тега «span»:
headers = ['Company','Ticker','RNS Title']
#GET FIRST ROWS
for table in results_table.find_all('table'):
#find first row in each table
for firstRow,header in zip(table.find_all('tr',{'class':'firstRowRns'}),headers):
for span in firstRow.find_all('span'):
print (span.text)
print('***this is one span text****')
print('***first row complete****')
Как вы можете видеть из моего списка заголовков, первые два диапазона должны заполнять «Company» и «Ticker».
Моя проблема в том, что иногда первая строка имеет один диапазон (отсутствует тикер). Две записи (здесь я хочу Company = Keystone, Ticker = KIT):
</table>, <table cellpadding="0" cellspacing="0" class="width100">
<tr class="firstRowRns">
<!-- Name, tidm, headline -->
<td>
<span>Keystone Investment Trust Plc</span>
<span>- KIT</span>
<a href="javascript: var x=openWin2('
...
Вот пример строки таблицы только с одной записью диапазона:
<table cellpadding="0" cellspacing="0" class="width100">
<tr class="firstRowRns">
<!-- Name, tidm, headline -->
<td>
<span>PR Newswire</span>
<a href="javascript: var x=openWin2('
...
Я бы хотел чтобы вернуть пустое значение там, где нет второго тега диапазона, чтобы я мог последовательно заполнять две записи за итерацию.
Любая помощь приветствуется.
Спасибо, Шон