我要从网站上取一些桌子。我已经能够获取数据框列表,每个数据框都对应于网站上的一个表。但是,当我尝试将它们连接到一个数据帧时,第一个表的值如应有的那样存在,但其他表的值除列索引外均为NaN。代码为:
import pandas as pd
import requests
from bs4 import BeautifulSoup
from tabulate import tabulate
res = requests.get("https://www.atptour.com/en/players/rafael-nadal/n409/fedex-atp-win-loss")
soup = BeautifulSoup(res.content,'lxml')
table = soup.find_all(class_="mega-table")
all_data = []
data = pd.read_html(str(table[0]),header =None,index_col= 0)
data = data[0].dropna(axis=0,thresh = 4)
all_data.append(data)
for i in range(1,len(table)):
data = pd.read_html(str(table[i]),index_col= 0,skiprows= 0)
data = data[0].dropna(axis=0,thresh = 4)
data.columns = [all_data[0].columns]
all_data.append(data)
print(all_data)
df = pd.concat(all_data)
print(df)
:list of dataframes concatenated dataframe
任何帮助将不胜感激