Domanda Risolto Problema nel riempire dataframe

enk17

Utente Bronze
23 Ottobre 2021
69
17
8
37
Salve stavo provando a prendere dei dati di una tabella presente su un sito però quando eseguo il file mi genera un eccezione in cui dice "cannot set a row with mismatched columns" alla linea in cui sta scritto "mydata.loc[length] = row" ,quando provo a vedere cosa prende mydata mi restituisce solo la prima colonna poi si ferma.

Python:
from curses import color_content
from email import header
from lib2to3.pgen2.token import COLONEQUAL
from wsgiref import headers
import requests
from bs4 import BeautifulSoup
import pandas as pd

#pagina di accesso
url = 'site.xyz'

#request.get
page = requests.get(url)

#beatifulSoup
soup = BeautifulSoup(page.text, 'lxml')

#estrazione tabella
table1=soup.find('table',id='table28')

#estrazione colonne
headers = []
for i in table1.find_all('th'):
    title = i.text
    headers.append(title)

#creazione dataframe
mydata=pd.DataFrame(columns=headers)

# loop per riempire il dataframe
for j in table1.find_all('tr')[1:]:
    row_data = j.find_all('td')
    row = [i.text for i in row_data]
    length = len(mydata)
    mydata.loc[length] = row






# esporta in csv
mydata.to_csv('classifica_piloti2.csv', index=False)# prova a leggere il file csv
mydata2 = pd.read_csv('classifica_piloti2.csv')


tabella.png



risulsato cmd.png