Einzelnen Wert aus XLS(X) mit pandas lesen

English Deutsch

pandas kann bequem verwendet werden, um eine Tabelle von Werten aus Excel zu lesen. Beim Extrahieren von Daten aus realen Excel-Tabellen gibt es oft Metadatenfelder, die nicht als eine von pandas lesbare Tabelle strukturiert sind.

In der pandas-Dokumentation ist es nicht offensichtlich, wie der Wert einer einzelnen Zelle (ohne zugehörige Überschriften) an einer festen Position extrahiert werden kann, zum Beispiel: Excel-Tabelle mit einem einzelnen Zellwert bei C3 zum Extrahieren mit pandas

In diesem Beispiel soll die Zelle C3 extrahiert werden, d.h. das Ergebnis soll ein String mit dem Wert Test value #123 sein. Da es in dieser Excel-Tabelle keine klare Tabellenstruktur gibt (und andere Zellen andere Werte enthalten können, die nicht von Interesse sind – z.B. Überschriften oder Header), soll kein pd.DataFrame sondern einfach ein String entstehen.

So kann es gemacht werden:

read_single_value_from_excel.py
def read_value_from_excel(filename, column="C", row=3):
    """Read a single cell value from an Excel file"""
    return pd.read_excel(filename, skiprows=row - 1, usecols=column, nrows=1, header=None, names=["Value"]).iloc[0]["Value"]

Beispielverwendung

read_value_from_excel(“Test.xlsx”, “C”, 3) # Prints Erklärung der Parameter, die als Argumente an pd.read_excel() übergeben werden:

Meiner Meinung nach ist die Verwendung von pandas die beste Methode zum Extrahieren für die meisten realen Anwendungsfälle (d.h. mit Fokus auf Entwicklungsgeschwindigkeit statt Ausführungsgeschwindigkeit), da pandas nicht nur automatische Engine-Auswahl für .xls- und .xlsx-Dateien bietet, sondern auch auf den meisten Data-Science-Setups ohnehin vorhanden ist und eine standardisierte API bereitstellt.


Check out similar posts by category: Pandas, Python