Я пытаюсь очистить веб-данные, создав 30 фреймов данных. Следующий код не работает:
#import time & pandas
import time
import pandas as pd
franchises = {'atl':'ATL', 'bos':'BOS', 'brk':'BRK', 'chi':'CHI', 'cho':'CHO', 'cle':'CLE', 'dal':'DAL', 'den':'DEN', 'det':'DET', 'gsw':'GSW', 'hou':'HOU', 'ind':'IND', 'lac':'LAC', 'lal':'LAL', 'mem':'MEM', 'mia':'MIA', 'mil':'MIL', 'min':'MIN', 'nop':'NOP', 'nyk':'NYK', 'okc':'OKC', 'orl':'ORL', 'phi':'PHI', 'pho':'PHO', 'por':'POR', 'sac':'SAC', 'sas':'SAS', 'tor':'TOR', 'uta':'UTA', 'was':'WAS'}
#set up custom function to scrape contract dataframes from BB-Ref
def dfscrape(tm_nm):
url = 'https://www.basketball-reference.com/contracts/' + franchises[tm_nm] + '.html'
contracts = pd.read_html(url)[0]
time.sleep(1)
return contracts
dfscrape(tm_nm = 'atl')
Код для назначения URL работает. Однако фрейм данных 'контракты' не всегда создается, когда я запускаю dfscrape (tm_nm = 'atl'). Кроме того, я хотел бы изменить имя «контрактов» для каждого экземпляра функции, чтобы у меня было 30 фреймов данных.
Должен ли я использовать цикл for? Я не могу понять, как итеративно присваивать новые имена фреймам данных.