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 uv 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")