Zum Hauptinhalt springen

Konvertieren einer HTML-Tabelle in ein Python-Wörterbuch in Python

In diesem Tutorial werden wir erkunden, wie man eine HTML-Tabelle mithilfe von Python in ein Python-Wörterbuch umwandelt. Wir werden die Bibliothek "BeautifulSoup" verwenden, um den HTML-Code zu analysieren und die Tabellendaten zu extrahieren, und sie dann in ein Wörterbuch umwandeln.

Schritt 1: Installieren der erforderlichen Bibliotheken

  • Stellen Sie sicher, dass Sie Python auf Ihrem System installiert haben.
  • Öffnen Sie Ihr Terminal oder die Eingabeaufforderung und führen Sie den folgenden Befehl aus, um die erforderlichen Bibliotheken zu installieren:
  pip install beautifulsoup4

Schritt 2: Importieren der erforderlichen Module

  • Öffnen Sie Ihre Python-IDE oder Ihren Texteditor.
  • Importieren Sie die erforderlichen Module:
  from bs4 import BeautifulSoup
import requests

Schritt 3: Abrufen und Analysieren des HTML

  • Holen Sie den HTML-Quellcode, der die Tabelle enthält.
  • Analysieren Sie das HTML mit "BeautifulSoup":
  # Geben Sie die URL oder den Pfad zur HTML-Datei an
url = "https://example.com/my_table.html"

# HTML-Inhalt abrufen
response = requests.get(url)
html_content = response.text

# Das HTML mit BeautifulSoup analysieren
soup = BeautifulSoup(html_content, "html.parser")

Schritt 4: Lokalisieren der Tabelle

  • Identifizieren Sie die Tabelle im HTML-Code.
  • Finden Sie die Tabelle mit den Methoden "find" oder "find_all" von "BeautifulSoup":
  # Lokalisieren Sie die Tabelle anhand ihrer ID oder Klasse
table = soup.find("table", id="my_table")

Schritt 5: Extrahieren der Tabellenüberschriften

  • Identifizieren Sie die Tabellenüberschriften (Spaltennamen) aus der Tabelle.
  • Extrahieren Sie die Überschriften mithilfe des "th"-Tags:
  # Extrahieren Sie die Tabellenüberschriften
headers = []
for th in table.find_all("th"):
headers.append(th.text.strip())

Schritt 6: Extrahieren von Tabellenzeilen und -daten

  • Iterieren Sie durch die Tabellenzeilen und extrahieren Sie die Daten.
  • Verwenden Sie die "tr"- und "td"-Tags, um Zeilen und Zellen zu finden:
  # Extrahieren Sie die Tabellenzeilen und -daten
data = []
for tr in table.find_all("tr"):
row = []
for td in tr.find_all("td"):
row.append(td.text.strip())
data.append(row)

Schritt 7: Erstellen eines Wörterbuchs

  • Kombinieren Sie die Überschriften und Daten zu einem Python-Wörterbuch.
  • Verwenden Sie eine Schleife, um durch die Daten zu iterieren und das Wörterbuch zu erstellen:
  # Erstellen Sie ein Wörterbuch aus der Tabelle
table_dict = {}
for row in data:
if len(row) == len(headers):
row_dict = dict(zip(headers, row))
table_dict[row[0]] = row_dict

Schritt 8: Zugriff auf das Wörterbuch

  • Jetzt können Sie auf die konvertierten Tabellendaten über das Wörterbuch zugreifen.
  • Rufen Sie spezifische Werte mit den Schlüsseln ab:
  # Zugriff auf das Wörterbuch
print(table_dict["row1"]["column1"])

Das war's! Sie haben erfolgreich eine HTML-Tabelle in ein Python-Wörterbuch umgewandelt.