Я вытащил некоторые данные из таблицы на веб-странице и поместил ее в список. Однако, когда я дойду до конца списка, я получаю ошибку «IndexError: list index out the range», и я не уверен, как ее исправить. Сообщение«IndexError: индекс индекса вне диапазона» при достижении конца списка
from bs4 import BeautifulSoup
import urllib2
soup = BeautifulSoup(urllib2.urlopen("https://www.countyofdane.com/election/electiondetail.aspx?id=54").read())
table = soup.find("table", {"id":"gdvPrecinctDetail101"})
a = table.findAll("td")
slipstr = list(a)
data_list = []
for t in slipstr:
t = str(t)
new_t = t[4:-5]
data_list.append(new_t)
x = 0
y = 9
for yes in data_list:
if yes < len(data_list):
break
else:
print data_list[x] + ": ",
for data_point in data_list[x+1:y]:
print data_point,
print "\n"
x += 9
y += 9
Ошибка:
print data_list[x] + ": ",
IndexError: list index out of range
Спасибо!
РЕДАКТИРОВАТЬ: В каждой строке (городе в округе Дейн) имеется 9 столбцов (кандидатов), поэтому поэтому x и y увеличиваются на 9 при каждом прохождении цикла.
Я все еще получаю такое же сообщение об ошибке, и что интересно, я попытался изменить последнюю часть после «len (data_list)» на «-10» и «-100», и он все равно выдал такое же сообщение об ошибке. Я думаю, что я сделал что-то неправильно раньше в коде, но все равно не уверен. – kfish15
Я проверил код с этой настройкой, и он больше не дает индексной ошибки. Он печатает эти строки: «T ALBION WDS 1-2: 369 732 1 11 0 0 0 3» до «C VERONA WDS 6-9: 1248 2178 4 33 0 0 10 2». Вы изменили «да» на x? –
Получил, спасибо! – kfish15