Excel#

pandas unterstützt auch das Lesen von Tabellendaten, die in Dateien von Excel 2003 (und höher) gespeichert sind, entweder mit der Klasse ExcelFile oder der Funktion pandas.read_excel. Intern verwenden diese Werkzeuge die Zusatzpakete xlrd und openpyxl, um XLS- bzw. XLSX-Dateien zu lesen. Diese müssen separat von pandas mit pipenv installiert werden.

Um ExcelFile zu verwenden, erstellt eine Instanz, indem ihr einen Pfad zu einer xls- oder xlsx-Datei übergebt:

[1]:
import pandas as pd
[2]:
xlsx = pd.ExcelFile("library.xlsx")

Ihr könnt dann die Sheets der Datei anzeigen mit:

[3]:
xlsx.sheet_names
[3]:
['books']
[4]:
books = pd.read_excel(xlsx, "books")

books
[4]:
Titel Sprache Autor*innen Lizenz Veröffentlichungsdatum
0 Python basics en Veit Schiele BSD-3-Clause 2021-10-28
1 Jupyter Tutorial en Veit Schiele BSD-3-Clause 2019-06-27
2 Jupyter Tutorial de Veit Schiele BSD-3-Clause 2020-10-26
3 PyViz Tutorial en Veit Schiele BSD-3-Clause 2020-04-13

Wenn ihr mehrere Sheets einer Datei einlest, ist es schneller, die Excel-Datei zu erstellen, aber ihr könnt auch einfach den Dateinamen an pandas.read_excel übergeben:

[5]:
books = pd.read_excel("library.xlsx", "books")

books
[5]:
Titel Sprache Autor*innen Lizenz Veröffentlichungsdatum
0 Python basics en Veit Schiele BSD-3-Clause 2021-10-28
1 Jupyter Tutorial en Veit Schiele BSD-3-Clause 2019-06-27
2 Jupyter Tutorial de Veit Schiele BSD-3-Clause 2020-10-26
3 PyViz Tutorial en Veit Schiele BSD-3-Clause 2020-04-13

Um pandas-Daten im Excel-Format zu schreiben, müsst ihr zunächst einen ExcelWriter erstellen und dann mit pandas.DataFrame.to_excel Daten in diesen schreiben:

[6]:
writer = pd.ExcelWriter("library.xlsx")

books.to_excel(writer, "books")
writer.close()

Ihr könnt auch einen Dateipfad an to_excel übergeben und so den ExcelWriter umgehen:

[7]:
books.to_excel("library.xlsx")