Я очень плохо знаком с Python и даже не уверен, правильно ли я сформулировал название. Я пытаюсь получить набор данных с двухлетней статистикой (один под другим). Это не работает, потому что переменная «таблица» является массивом, я полагаю, где данные за каждый год являются своим собственным элементом. Если я удаляю две строки кодов (указанные ниже как «Line1» и «Line2», я получаю оба года, но без правильной формы; однако, я использую длину переменной «thm», чтобы определить количество строк в году и затем используйте функцию изменения формы numpy, прежде чем я добавлю ее в переменную table. Спасибо.
import bs4
from bs4 import BeautifulSoup
from urllib.request import urlopen
import pandas as pd
import numpy as np
table=[]
for i in range(1956,1958):
url="https://www.basketball-reference.com/draft/NBA_{}.html#stats::none".format(i)
soup=BeautifulSoup(urlopen(url), "html.parser")
thm=[]
for tag in soup.find_all("tr"):
list=tag.find("th", class_="right")
if list:
thm.append(list.text)
mtable1=[]
trs=soup.find_all("tr")
for tr in trs:
tds=tr.find_all("td")
for td in tds:
mtable1.append(td.text)
#Line1
mtable2=[mtable1]
#Line2
mtable3=np.reshape(mtable2,[len(thm),21])
table.append(mtable3)
data=pd.DataFrame(table)
data.to_csv("data.csv")