Aller au contenu principal

Conversion d'un tableau HTML en dictionnaire Python en utilisant Python

Dans ce tutoriel, nous allons explorer comment convertir un tableau HTML en dictionnaire Python en utilisant Python. Nous utiliserons la bibliothèque BeautifulSoup pour analyser le HTML et extraire les données du tableau, puis les convertir en dictionnaire.

Étape 1 : Installer les bibliothèques requises

  • Assurez-vous d'avoir Python installé sur votre système.
  • Ouvrez votre terminal ou votre invite de commande et exécutez la commande suivante pour installer les bibliothèques requises :
  pip install beautifulsoup4

Étape 2 : Importer les modules nécessaires

  • Ouvrez votre IDE Python ou votre éditeur de texte.
  • Importez les modules requis :
  from bs4 import BeautifulSoup
import requests

Étape 3 : Récupérer et analyser le HTML

  • Obtenez le code source HTML contenant le tableau.
  • Analysez le HTML à l'aide de BeautifulSoup :
  # Spécifiez l'URL ou le chemin du fichier HTML
url = "https://example.com/my_table.html"

# Récupérez le contenu HTML
response = requests.get(url)
html_content = response.text

# Analysez le HTML à l'aide de BeautifulSoup
soup = BeautifulSoup(html_content, "html.parser")

Étape 4 : Localiser le tableau

  • Identifiez le tableau dans le code source HTML.
  • Trouvez le tableau à l'aide des méthodes find ou find_all de BeautifulSoup :
  # Localisez le tableau par son ID ou sa classe
table = soup.find("table", id="my_table")

Étape 5 : Extraire les en-têtes du tableau

  • Identifiez les en-têtes du tableau (noms de colonnes) à partir du tableau.
  • Extrayez les noms d'en-tête à l'aide de la balise th :
  # Extrayez les en-têtes du tableau
headers = []
for th in table.find_all("th"):
headers.append(th.text.strip())

Étape 6 : Extraire les lignes et les données du tableau

  • Parcourez les lignes du tableau et extrayez les données.
  • Utilisez les balises tr et td pour trouver les lignes et les cellules respectivement :
  # Extrayez les lignes et les données du tableau
data = []
for tr in table.find_all("tr"):
row = []
for td in tr.find_all("td"):
row.append(td.text.strip())
data.append(row)

Étape 7 : Créer un dictionnaire

  • Combinez les en-têtes et les données dans un dictionnaire Python.
  • Utilisez une boucle pour parcourir les données et créer le dictionnaire :
  # Créez un dictionnaire à partir du tableau
table_dict = {}
for row in data:
if len(row) == len(headers):
row_dict = dict(zip(headers, row))
table_dict[row[0]] = row_dict

Étape 8 : Accéder au dictionnaire

  • Maintenant, vous pouvez accéder aux données du tableau converti en utilisant le dictionnaire.
  • Récupérez des valeurs spécifiques en utilisant les clés :
  # Accédez au dictionnaire
print(table_dict["row1"]["column1"])

Et voilà ! Vous avez réussi à convertir un tableau HTML en dictionnaire Python.