Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用pandas read_html迭代创建数据帧_Python_Html_Pandas - Fatal编程技术网

Python 使用pandas read_html迭代创建数据帧

Python 使用pandas read_html迭代创建数据帧,python,html,pandas,Python,Html,Pandas,我正在尝试收集网络数据,创建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

我正在尝试收集网络数据,创建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循环吗?我不知道如何迭代地为数据帧分配新名称。

要将“合同”的名称更改为什么名称?@RomanPerekhrest理想情况下,我想将其更改为“ATL_合同”或“合同ATL”,只是为了保持名称的唯一性->数据帧的可区分性您可能想将其存储在一个目录中: