AssertionError: 22 columns passed, passed data had 21 columns in html tables they show error
import requests
from bs4 import BeautifulSoup
import pandas as pd
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.3"
}
r = requests.get("https://www.worldometers.info/coronavirus/?utm_campaign=homeAdvegas1?")
soup = BeautifulSoup(r.content, "lxml")
table = soup.find("table", id="main_table_countries_yesterday")
header = [th.get_text(strip=True) for th in table.tr.select("th")][1:]
all_data = []
for row in table.select("tr:has(td)"):
tds = [td.get_text(strip=True) for td in row.select("td")]
all_data.append(tds)
df = pd.DataFrame(all_data, columns=header)
print(df)
df.to_csv("data.csv", index=False)