У меня есть код, который создает очищенные данные и помещает его в 4 списка данных, но я хочу собрать их все вместе в виде фрейма данных и вывести окончательный результат в виде CSV.Кроме того, столбец гостя содержит несколько человек, так как мне перебрать этот список?Не уверен, почему мой текущий код не работает, но это, вероятно, что-то довольно простое.Спасибо
import requests
import pandas as pd
from bs4 import BeautifulSoup
import numpy as np
page = requests.get("https://en.wikipedia.org/wiki/List_of_QI_episodes")
soup = BeautifulSoup(page.content, "lxml")
my_tables = soup.find_all("table",{"class":"wikitable plainrowheaders wikiepisodetable"})
for table in my_tables:
table_rows = table.find_all("tr")
for tr in table_rows:
td = tr.find_all("td")
row = [i.text for i in td]
if len(td) == 4:
NoInSeason = td[0].find(text=True)
Guests = td[1].find(text=True)
Winner = td[2].find(text=True)
OriginalAirDate = td[3].find(text=True)
df = pd.DataFrame(np.column_stack([NoInSeason, Guests, Winner, OriginalAirDate]),
columns=['NumberInSeason', 'Guests', 'Winner', 'OriginalAirDate'])
print(df)
df.to_csv("output.csv")