es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python Beautiful Soup obtiene las cabeceras de columna correctas para cada tabla.

El siguiente código obtiene datos de jugadores, pero cada conjunto de datos es diferente. El primer conjunto de datos que se encuentra es el de los quarterbacks, por lo que utiliza estas columnas para todos los datos posteriores. ¿Cómo puedo cambiar el encabezado para que para cada conjunto de datos diferente que encuentre, se utilicen los encabezados correctos con los datos correctos?

import pandas as pd
import csv
from pprint import pprint

from bs4 import BeautifulSoup
import requests

url = 'https://www.espn.com/nfl/boxscore/_/gameId/401326313' # Crear objeto página
soup = BeautifulSoup(requests.get(url).content, "html.parser")

rows = soup.select("table.mod-data tr")
#rows = soup.find_all("table.mod-data tr")
headers = [header.get_text(strip=True).encode("utf-8") for header in rows[0].find_all("th")]

data = [dict(zip(headers, [cell.get_text(strip=True).encode("utf-8") for cell in row.find_all("td")]))
        for row in rows[1:]]

df = pd.DataFrame(data)
df.to_csv('_Data_{}.csv'.format(pd.datetime.now().strftime("%Y-%m-%d %H%M%S")),index=False)

# Ver cómo se vean los datos en este punto
pprint(data)
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para cambiar las cabeceras de diferentes conjuntos de datos, deberá identificar cada conjunto de datos y sus respectivas cabeceras. Una vez que haya hecho esto, podrá modificar el código actual agregando una instrucción condicional que verifique cada conjunto de datos y utilice las cabeceras correspondientes para ese conjunto de datos.

    Por ejemplo, podría agregar una condición para verificar los datos del mariscal de campo y usar las cabeceras correspondientes para esos datos. De manera similar, podría agregar una condición para verificar los datos del corredor y usar las cabeceras apropiadas para esos datos.

    Para implementar esto, deberá modificar el código que extrae las cabeceras de la página HTML para incluir las instrucciones condicionales para cada tipo de dato. También deberá modificar el código que extrae datos de la página HTML para utilizar las cabeceras apropiadas para cada conjunto de datos.

    Es importante tener en cuenta que la implementación específica de estos cambios dependerá de la estructura de la página HTML y de los datos específicos que se estén extrayendo. Por lo tanto, se recomienda primero comprender la estructura de la página HTML y los diferentes conjuntos de datos presentes antes de intentar modificar el código.

Comments are closed.