Lesen einer Excel-Datei mit Python

Vaibhav Vaibhav 10 Oktober 2023
  1. Lesen einer Excel-Datei mit dem Paket pandas in Python
  2. Lesen einer Excel-Datei mit dem Paket xlrd in Python
  3. Beispiele für Aufgaben, die über Excel-Dateien in Python ausgeführt werden
Lesen einer Excel-Datei mit Python

Die Programmiersprache Python ist für ihre Verwendung im Bereich der Datenwissenschaft bekannt. Data Science umfasst im Allgemeinen den Umgang mit Daten und deren Analyse mit Hilfe von Grafiken und Diagrammen wie Liniendiagrammen, Violindiagrammen, Histogrammen und Heatmaps sowie mathematischen Berechnungen wie Mittelwert, Median, Modus, Wahrscheinlichkeit, Varianz usw. Was macht Python noch besser geeignet ist die Tatsache, dass es das Lesen und Bearbeiten von Dateien sehr nahtlos macht. Da Daten in der Regel in gängigen Dateiformaten wie xls, xlsx, csv, txt usw. dargestellt werden, ist der Umgang mit Python ein Kinderspiel.

In diesem Artikel wird anhand einiger Beispiele das Lesen von Excel-Dateien mit Python vorgestellt. Zum Beispiel betrachten wir eine Beispiel-Excel-Datei, die Sie von hier herunterladen können, damit wir alle auf derselben Seite sind. Benennen Sie es einfach in sample.xls um, damit die folgenden Codeschnipsel funktionieren, oder ändern Sie den Dateinamen in den folgenden Codeschnipseln selbst.

Lesen einer Excel-Datei mit dem Paket pandas in Python

In Python können wir die Bibliothek pandas verwenden, um eine Excel-Datei zu lesen. Das Modul pandas ist eine robuste, leistungsstarke, schnelle und flexible Open-Source-Bibliothek zur Datenanalyse und -manipulation, die in Python geschrieben wurde. Wenn es nicht auf Ihrem Computer oder Ihrer virtuellen Umgebung installiert ist, verwenden Sie den folgenden Befehl.

  • Um pandas zu installieren: pip install pandas oder pip3 install pandas

Beziehen Sie sich auf den folgenden Code, um eine Excel-Datei mit dem Modul pandas zu lesen.

import xlrd
import pandas

df = pandas.read_excel("sample.xls")
print("Columns")
print(df.columns)

Ausgabe:

Columns
Index(['Segment', 'Country', 'Product', 'Discount Band', 'Units Sold',
       'Manufacturing Price', 'Sale Price', 'Gross Sales', 'Discounts',
       ' Sales', 'COGS', 'Profit', 'Date', 'Month Number', 'Month Name',
       'Year'],
      dtype='object')

Lesen einer Excel-Datei mit dem Paket xlrd in Python

In Python können wir das Paket xlrd verwenden, um Excel-Dateien zu lesen. Das Modul xlrd ist ein Python-Paket zum Lesen und Formatieren von Excel-Dateien. Falls Sie es nicht auf Ihrem Computer oder Ihrer virtuellen Umgebung installiert haben, verwenden Sie den folgenden Befehl.

  • Um xlrd zu installieren, verwenden Sie den folgenden Befehl.
pip install xlrd

Oder,

pip3 install xlrd

Beziehen Sie sich auf den folgenden Code zum Lesen von Excel-Dateien mit xlrd.

from xlrd import open_workbook

wb = open_workbook("sample.xls")
sheet = wb.sheet_by_index(0)
sheet.cell_value(0, 0)
columns = []
print("Columns")

for i in range(sheet.ncols):
    columns.append(sheet.cell_value(0, i))

print(columns)

Ausgabe:

Columns
['Segment', 'Country', 'Product', 'Discount Band', 'Units Sold', 'Manufacturing Price', 'Sale Price', 'Gross Sales', 'Discounts', ' Sales', 'COGS', 'Profit', 'Date', 'Month Number', 'Month Name', 'Year']

Hier ist eine kurze Erklärung, was der obige Code macht. Es erstellt zunächst mit Hilfe der Funktion open_workbook() einen Dateideskriptor für die Excel-Datei. Dann setzt es den Dateizeiger auf die Position (0,0) oder die Zelle oben links zurück. Als nächstes durchläuft es die erste Zeile und speichert alle Spaltennamen in einer Variablen. Im Allgemeinen sind Spaltennamen in der ersten Zeile vorhanden; Aus diesem Grund berücksichtigt der Code diese Position. Falls sich die Spaltennamen in einer anderen Zeile befinden, kann man den Wert 0 in der Anweisung sheet.cell_value(0, i) auf eine beliebige Zeilennummer ändern. Im Wesentlichen stellt (0, i) die Koordinaten y und x dar, wobei y 0 ist und x i ist, wobei der Ursprung (0, 0) bei liegt die obere linke Ecke der Datei.

Beispiele für Aufgaben, die über Excel-Dateien in Python ausgeführt werden

Schauen wir uns einige einfache Aufgaben an, die wir über Excel-Dateien ausführen können, um diese beiden Bibliotheken besser zu verstehen.

Drucken der ersten 3 Zeilen einer Excel-Datei

Mit dem pandas-Paket

import pandas

df = pandas.read_excel("sample.xls")
count = 3

for index, row in df.iterrows():
    print(row, end="\n\n")

    if index == count - 1:
        break

Ausgabe:

Segment                         Government
Country                             Canada
Product                          Carretera
Discount Band                         None
Units Sold                          1618.5
Manufacturing Price                      3
Sale Price                              20
Gross Sales                        32370.0
Discounts                              0.0
 Sales                             32370.0
COGS                               16185.0
Profit                             16185.0
Date                   2014-01-01 00:00:00
Month Number                             1
Month Name                         January
Year                                  2014
Name: 0, dtype: object

Segment                         Government
Country                            Germany
Product                          Carretera
Discount Band                         None
Units Sold                          1321.0
Manufacturing Price                      3
Sale Price                              20
Gross Sales                        26420.0
Discounts                              0.0
 Sales                             26420.0
COGS                               13210.0
Profit                             13210.0
Date                   2014-01-01 00:00:00
Month Number                             1
Month Name                         January
Year                                  2014
Name: 1, dtype: object

Segment                          Midmarket
Country                             France
Product                          Carretera
Discount Band                         None
Units Sold                          2178.0
Manufacturing Price                      3
Sale Price                              15
Gross Sales                        32670.0
Discounts                              0.0
 Sales                             32670.0
COGS                               21780.0
Profit                             10890.0
Date                   2014-06-01 00:00:00
Month Number                             6
Month Name                            June
Year                                  2014
Name: 2, dtype: object

Mit dem Paket xlrd

from xlrd import open_workbook

wb = open_workbook("sample.xls")
sheet = wb.sheet_by_index(0)
sheet.cell_value(0, 0)
count = 3

for i in range(1, count + 1):
    for j in range(sheet.ncols):
        print(sheet.cell_value(i, j), end=", ")

    print()

Ausgabe:

Government, Canada, Carretera, None, 1618.5, 3.0, 20.0, 32370.0, 0.0, 32370.0, 16185.0, 16185.0, 41640.0, 1.0, January, 2014, 
Government, Germany, Carretera, None, 1321.0, 3.0, 20.0, 26420.0, 0.0, 26420.0, 13210.0, 13210.0, 41640.0, 1.0, January, 2014, 
Midmarket, France, Carretera, None, 2178.0, 3.0, 15.0, 32670.0, 0.0, 32670.0, 21780.0, 10890.0, 41791.0, 6.0, June, 2014, 

Drucken von Werten einer bestimmten Spalte

Mit dem pandas-Paket

import pandas

df = pandas.read_excel("sample.xls")
column = df.columns[4]
print(column)
print("-" * len(column))

for index, row in df.iterrows():
    print(row[column])

Ausgabe:

Units Sold
----------
1618.5
1321.0
2178.0
888.0
2470.0
1513.0
921.0
2518.0
1899.0
1545.0
2470.0
2665.5
958.0
2146.0
345.0
615.0
292.0
974.0
2518.0
1006.0
367.0
883.0
549.0
788.0
2472.0
1143.0
1725.0
912.0
2152.0
1817.0
1513.0
1493.0
1804.0
2161.0
1006.0
1545.0
2821.0
345.0
2001.0
2838.0
2178.0
888.0
...

Mit dem Paket xlrd

from xlrd import open_workbook

wb = open_workbook("sample.xls")
sheet = wb.sheet_by_index(0)
sheet.cell_value(0, 0)
column_index = 4
column = sheet.cell_value(0, column_index)
print(column)
print("-" * len(column))

for row in range(1, sheet.nrows):
    print(sheet.cell_value(row, column_index))

Ausgabe:

Units Sold
----------
1618.5
1321.0
2178.0
888.0
2470.0
1513.0
921.0
2518.0
1899.0
1545.0
2470.0
2665.5
958.0
2146.0
345.0
615.0
292.0
974.0
2518.0
1006.0
367.0
883.0
549.0
788.0
2472.0
1143.0
1725.0
912.0
2152.0
1817.0
1513.0
1493.0
1804.0
2161.0
1006.0
1545.0
2821.0
345.0
2001.0
2838.0
2178.0
888.0
...
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Verwandter Artikel - Python Excel