XLSX-Dateien mit Python und Pandas lesen
Pandas ist eine sehr robuste und optimierte Bibliothek, die hilft, Daten effizient zu verarbeiten, Operationen mit diesen Daten problemlos durchzuführen und sie mit allen Arten von Diagrammen und Grafiken zu analysieren. Gängige Operationen wie Zusammenführen, Verketten und Umformen können mit Pandas sehr einfach durchgeführt werden.
Pandas unterstützt auch das Lesen von Dateien und das Speichern der Daten in den Dateien in verschiedenen Objekten wie Arrays und DataFrames
. Eine solche Datei ist .xlsx
. .xlsx
-Dateien sind komprimierte und XML-basierte Tabellenkalkulationsdateien im Microsoft Excel Open XML-Format. In diesem Artikel wird beschrieben, wie man .xlsx
-Dateien mit Pandas liest.
Lesen von .xlsx
-Dateien mit pandas
in Python
Um .xlsx
-Dateien mit pandas
zu lesen, können wir die Funktion read_excel()
verwenden. Diese Funktion liest eine Excel-Datei in einen pandas Dataframe
. Und wir können diese Funktion verwenden, um xlsx
, xls
, xlsm
, xlsb
, odf
, ods
und odt
Dateien zu lesen. Da Excel-Dateien mehrere Blätter enthalten können, kann diese Funktion ein einzelnes und mehrere Blätter lesen.
Die Funktion read_excel()
hat einige Parameter. Wir werden einige der wichtigsten besprechen.
io
: Dieser Parameter kannstr
,bytes
,ExcelFile
,xlrd.Book
,path object
oderfile-like object
sein. Es ist im Wesentlichen die Datei oder das Objekt, das gelesen werden muss. An diesen Parameter kann auch ein gültiger Dateipfad in Form eines Strings übergeben werden.sheet_name
: Dieser Parameter kannstr
,int
,list
oderNone
sein. Der Standardwert ist0
. Da Excel-Dateien aus Blättern bestehen, können wir ein einzelnes Blatt oder eine Reihe von Blättern zum Lesen angeben. Wir können nicht nur Integer-Indizes (2
,0
,[1, 3, 7]
) verwenden, sondern auch Stringnamen, um die Blätter zu spezifizieren (Sheet1
,Sheet3
,["Sheet4", "Sheet5", "Sheet8"]
).header
: Die Zeile, die als Header für die Excel-Datei betrachtet werden soll. Der Standardwert ist0
, da die erste Zeile normalerweise die Kopfzeile ist und eine nullbasierte Indizierung berücksichtigt. Wenn keine Kopfzeile vorhanden ist, stellen Sie sie aufNone
.names
: Wir können angeben, welche Spalten wir aus der Excel-Datei lesen möchten. Es akzeptiert eine Liste von Spaltennamen. Der Standardwert istNone
. Da sich Spaltennamen in der Kopfzeile befinden, sollte die Datei einen haben. Ansonsten einfachheader = None
setzen.
Sehen wir uns nun an, wie wir mit dieser Funktion eine .xlxs
-Datei lesen können. Siehe den folgenden Code.
file_name = "my_file.xlsx" # File name
sheet_name = 3 # 4th sheet
header = 1 # The header is the 2nd row
df = pd.read_excel(file_name=file_name, sheet_name=sheet_name, header=header)
print(df.head()) # Prints first 5 rows from the top along with the header
print(df.tail()) # Prints first 5 rows from the bottom along with the header