Website-Suche

Pandas read_excel() - Excel-Datei in Python lesen


Wir können die Funktion read_excel() des pandas-Moduls verwenden, um die Excel-Daten in ein DataFrame-Objekt zu lesen. Wenn Sie sich ein Excel-Blatt ansehen, ist es eine zweidimensionale Tabelle. Das DataFrame-Objekt repräsentiert ebenfalls eine zweidimensionale tabellarische Datenstruktur.

1. Pandas read_excel() Beispiel

Angenommen, wir haben eine Excel-Datei mit zwei Arbeitsblättern - Mitarbeiter und Autos. Die oberste Zeile enthält die Überschrift der Tabelle.

Excel-Datei-Blattdaten

Hier ist das Beispiel, um die Daten des “Mitarbeiter”-Blattes zu lesen und auszugeben.

import pandas

excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Employees')

print whole sheet data
print(excel_data_df)

Ausgabe :

   EmpID    EmpName EmpRole
0      1     Pankaj     CEO
1      2  David Lee  Editor
2      3   Lisa Ray  Author
  • Der erste Parameter ist der Name der Excel-Datei.
  • Der Parameter sheet_name definiert das Blatt, das aus der Excel-Datei gelesen werden soll.
  • Wenn wir das DataFrame-Objekt drucken, ist die Ausgabe eine zweidimensionale Tabelle. Sie ähnelt den Aufzeichnungen in einem Excel-Blatt.

2. Liste der Spaltenüberschriften der Excel-Tabelle

Wir können die Liste der Spaltenüberschriften mit der columns Eigenschaft des Dataframe-Objekts abrufen.

print(excel_data_df.columns.ravel())

Ausgabe :

['EmpID' 'EmpName' 'EmpRole']

3. Drucken einer Spalten-Daten

Wir können die Spaltendaten abrufen und sie in eine Liste von Werten umwandeln.

print(excel_data_df['EmpName'].tolist())

Ausgabe :

['Pankaj', 'David Lee', 'Lisa Ray']

4. Pandas read_excel() usecols Beispiel

Wir können die Spaltennamen angeben, die aus der Excel-Datei gelesen werden sollen. Das ist nützlich, wenn Sie sich nur für einige der Spalten des Excel-Blattes interessieren.

import pandas

excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Cars', usecols=['Car Name', 'Car Price'])
print(excel_data_df)

Ausgabe :

         Car Name      Car Price
0      Honda City     20,000 USD
1  Bugatti Chiron  3 Million USD
2     Ferrari 458   2,30,000 USD

5. Excel-Datei ohne Kopfzeile lesen

Wenn das Excel-Dokument keine Kopfzeile hat, setzen Sie den Wert des Kopfzeilenparameters auf None.

excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Numbers', header=None)

Wenn Sie den Kopfwert als Ganzzahl übergeben, sagen wir 3. Dann wird die dritte Zeile als Kopfzeile behandelt und die Werte werden ab der nächsten Zeile gelesen. Alle Daten vor der Kopfzeile werden verworfen.

6. Excel-Tabelle in Dict, CSV und JSON

Das DataFrame-Objekt verfügt über verschiedene Hilfsfunktionen, um die tabellarischen Daten in Dict-, CSV- oder JSON-Format zu konvertieren.

excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Cars', usecols=['Car Name', 'Car Price'])

print('Excel Sheet to Dict:', excel_data_df.to_dict(orient='record'))
print('Excel Sheet to JSON:', excel_data_df.to_json(orient='records'))
print('Excel Sheet to CSV:\n', excel_data_df.to_csv(index=False))

Ausgabe :

Excel Sheet to Dict: [{'Car Name': 'Honda City', 'Car Price': '20,000 USD'}, {'Car Name': 'Bugatti Chiron', 'Car Price': '3 Million USD'}, {'Car Name': 'Ferrari 458', 'Car Price': '2,30,000 USD'}]
Excel Sheet to JSON: [{"Car Name":"Honda City","Car Price":"20,000 USD"},{"Car Name":"Bugatti Chiron","Car Price":"3 Million USD"},{"Car Name":"Ferrari 458","Car Price":"2,30,000 USD"}]
Excel Sheet to CSV:
 Car Name,Car Price
Honda City,"20,000 USD"
Bugatti Chiron,3 Million USD
Ferrari 458,"2,30,000 USD"

7. Literaturverzeichnis

  • pandas read_excel() API-Dokumentation