def proba():
html_file = urllib.request.urlopen('https://www.biznesradar.pl/wskazniki-zadluzenia/06N')
soup = BeautifulSoup(html_file, 'lxml')
fields = [item['data-field'] for item in soup.find_all('tr', attrs = {'data-field': True})]
row_data = []
dict_of_list = {}
for field in fields:
for war in soup.find(attrs = {f'data-field': '{}'.format(field)}).find_all('td', class_ = 'h'):
[row_data.append(float(i.text.replace(' ', ''))) for i in war.find_all('span', class_ = 'value')]
for field in enumerate(fields):
dict_of_list["zadl_{}".format(field[1])] = np.array_split(row_data, len(fields))[field[0]].astype(np.float)
Я хотел бы очистить данные пустой таблицы как None или np.nan, чтобы иметь равные строки в очищенных данных: Html выглядит так:
Когда я ищу не существующий атрибут, например, такой: x = soup.find(attrs = {f'data-field': 'LDER'}).tr
, python возвращает объект NoneType, поэтому я попробовал это условие:
[row_data.append(float(i.text.replace(' ', ''))) if war.span is not None else row_data.append(np.nan) for i in war.find_all('span', class_ = 'value')]
, но это не работает должным образом :(. Есть идеи?