Die Arbeit mit Excel-Daten in Python erfordert häufig das Extrahieren spezifischer Zeilen und Spalten in ein Listenformat. Die Umwandlung eines Excel-Bereichs in eine Python-Liste ist äußerst nützlich für Aufgaben wie:

  • Datenanalyse mit Pandas und NumPy
  • Automatisierung von Berichterstattung und ETL-Prozessen
  • Integration mit Machine-Learning-Modellen oder APIs

In diesem Artikel werden wir Schritt für Schritt lernen, wie man einen definierten Excel-Bereich in eine Liste in Python konvertiert.

Python Excel zu Liste Konverterbibliothek

Statt Excel Dateien manuell zu parsen, können Entwickler Aspose.Cells for Python über .NET verwenden, eine leistungsstarke Excel zu Liste-Konverterbibliothek. Sie erleichtert nicht nur das Extrahieren von Bereichen, Zeilen und Spalten in Python-Listen, sondern unterstützt auch fortgeschrittene Funktionen wie Formeln, Formatierungen, Diagramme und Pivot-Tabellen, die Genauigkeit auch bei komplexen Tabellenkalkulationen gewährleisten.

Bevor Sie mit dem Programmieren beginnen, stellen Sie sicher, dass Ihr Setup bereit ist:

  1. Installieren Sie Python 3.7+.
  2. Download Aspose.Cells from releases oder installieren Sie es mit pip:
pip install aspose-cells-python
  1. Bereiten Sie eine Beispiel-Excel-Datei (sampledata.xlsx) mit folgendem Inhalt vor:
Convertieren Sie Excel in eine Liste in Python: Beispieldatei

Beispiel-Excel-Datenfile.

Convert Excel Range to Python List: Step-by-Step Guide

Lass uns den Prozess durchgehen, um einen Bereich von Excel-Daten in eine Python-Liste mit Aspose.Cells for Python zu konvertieren.

Befolgen Sie die folgenden Schritte, um einen Excel-Bereich in eine Liste in Python umzuwandeln:

  1. Zuerst laden Sie die vorhandene Excel-Datei mit der Workbook Klasse.
  2. Zweitens, rufen Sie das erste Arbeitsblatt ab.
  3. Als nächstes erstellen Sie einen Bereich, z. B. A1 bis C4.
  4. Danach konvertieren Sie den Bereich in eine Python-Liste.
  5. Schließlich die Liste drucken.

Das folgende Python-Skript lädt die Excel-Datei, definiert einen Bereich und konvertiert ihn in eine Python-Liste.

from aspose.cells import Workbook

# Schritt 1: Laden Sie die Excel-Arbeitsmappe
book = cells.Workbook("sample_data.xlsx")

# Schritt 2: Greifen Sie auf das erste Arbeitsblatt zu
sheet1 = book.worksheets.get(0)

# Schritt 3: Definieren Sie den Bereich (A1:C4 in diesem Beispiel)
sheet_cells = sheet1.cells
range_obj = sheet_cells.create_range("A1", "C4")

# Schritt 4: Wandeln Sie den Bereich in eine verschachtelte Python-Liste um
range_list = []
for row_index in range(range_obj.first_row, range_obj.first_row + range_obj.row_count):
    row = []
   for column_index in range(range_obj.first_column, range_obj.first_column + range_obj.column_count):
        curr_cell = sheet_cells.check_cell(row_index, column_index)
        row.append(curr_cell.value if curr_cell else "")
    range_list.append(row)

# Schritt 5: Drucken Sie die Python-Liste
print("Python List Output:")
print(range_list)

Output

Python List Output:
[['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036], ['Detroit', 'Central', 3074]]

Dieses vollständige Skript zeigt, wie man Daten aus Excel extrahiert und in eine Python-Liste umwandelt. Danach kann es je nach Ihren Anforderungen leicht in Pandas oder JSON umgewandelt werden.

Convert Python-Liste in Pandas DataFrame

Mit Pandas können Sie die Liste direkt in ein DataFrame umwandeln:

import pandas as pd

# Convert to a Pandas DataFrame
df = pd.DataFrame(range_list[1:], columns=range_list[0])
print(df)

Pandas DataFrame Ausgabe:

       City   Region  Store
0   Chicago  Central   3055
1  New York     East   3036
2   Detroit  Central   3074

Speichern Sie die Python-Liste als JSON

Sie können die Daten auch als JSON exportieren:

import json

# Convert to JSON
json_output = json.dumps(range_list)
print(json_output)

JSON Output:

[["City", "Region", "Store"], ["Chicago", "Central", 3055], ["New York", "East", 3036], ["Detroit", "Central", 3074]]

Convert Excel Row to List in Python

Manchmal möchten Sie möglicherweise nur eine einzelne Zeile aus Excel extrahieren und als Liste speichern. So geht’s mit Aspose.Cells:

  1. Laden Sie die Excel-Arbeitsmappe.
  2. Zugriff auf das Zielarbeitsblatt.
  3. Wählen Sie die Zeile nach Index aus.
  4. Sammeln Sie Zeilenwerte in einer Python-Liste.
# Importieren Sie die Aspose.Cells-Bibliothek
from aspose.cells import Workbook

# Schritt 1: Laden Sie die Excel-Arbeitsmappe aus der Datei
book = Workbook("sample_data.xlsx")

# Schritt 2: Greifen Sie auf das erste Arbeitsblatt in der Arbeitsmappe zu
sheet = book.worksheets.get(0)

# Schritt 3: Definieren Sie den Zeilenindex (0 = erste Zeile, die die Überschriften enthält)
row_index = 0
cells = sheet.cells

# Erstellen Sie ein Range Objekt für die ausgewählte Zeile.
row_range = cells.create_range(row_index, 0, 1, sheet.cells.max_column + 1)

# Schritt 4: Wandeln Sie die Zeile in eine Python-Liste um
row_list = []
for column_index in range(row_range.first_column, row_range.first_column + row_range.column_count):
    curr_cell = cells.check_cell(row_index, column_index)  # Get each cell in the row
    row_list.append(curr_cell.value if curr_cell else "")  # Append value or empty string if cell is blank

# Drucke die extrahierte Zeile als Liste
print("Row to List:", row_list)

Output:

Row to List: ['City', 'Region', 'Store']

Konvertiere Excel-Spalte in eine Liste in Python

Sie können auch eine einzelne Spalte in eine Liste extrahieren. Zum Beispiel, lassen Sie uns die Region-Spalte in eine Liste umwandeln:

  1. Laden Sie die Arbeitsmappe und das Arbeitsblatt.
  2. Wählen Sie die Spalte nach Index.
  3. Durchlaufe jede Zeile in der Spalte.
  4. Sammle Spaltenwerte in eine Liste.
# Importieren Sie die Aspose.Cells-Bibliothek
from aspose.cells import Workbook

# Schritt 1: Laden Sie die Excel-Arbeitsmappe aus der Datei
book = Workbook("sample_data.xlsx")

# Greifen Sie auf das erste Arbeitsblatt in der Arbeitsmappe zu.
sheet = book.worksheets.get(0)

# Schritt 2: Definieren Sie den Spaltenindex (0 = erste Spalte, d.h. Spalte A)
col_index = 0
cells = sheet.cells

# Erstellen Sie ein Bereichsobjekt für die ausgewählte Spalte
# Parameter: (Startreihe, Startspalte, Gesamtanzahl der Reihen, Gesamtanzahl der Spalten)
# Hier, starte bei Zeile 0, wähle colindex, schließe alle Zeilen ein und Breite = 1 Spalte.
col_range = cells.create_range(0, col_index, sheet.cells.max_row + 1, 1)

# Schritt 3 & 4: Konvertiere die Spalte in eine Python-Liste
col_list = []
for row_index in range(col_range.first_row, col_range.first_row + col_range.row_count):
    curr_cell = cells.check_cell(row_index, col_index)  # Get each cell in the column
    if curr_cell:  # Only add if the cell exists (ignore empty rows)
        col_list.append(curr_cell.value)

# Drucken Sie die extrahierte Spalte als Liste.
print("Column to List:", col_list)

Output:

Column to List: ['City', 'Chicago', 'New York', 'Detroit']

Erhalten Sie eine kostenlose Lizenz

Bewerten Sie Aspose.Cells for Python über .NET ohne Einschränkungen. Fordern Sie eine kostenlose temporäre Lizenz von der license page an. Wenden Sie sie in Ihrem Code an, um die Einschränkungen der Evaluierung zu entfernen. Testen Sie jede Funktion, einschließlich DF nach Excel, Diagramme, Formeln und große Dateien.

Excel zu Liste: Kostenlose Ressourcen

Nutzen Sie die folgenden Ressourcen, um Ihr Wissen zu vertiefen, Ihr Verständnis zu stärken und praktische Einblicke zu gewinnen, die Ihnen helfen können, das Gelernte effektiver anzuwenden.

Schlussfolgerung

Wir haben demonstriert, wie man Excel-Daten in Python-Listen umwandelt, indem man Bereiche, Zeilen und Spalten mit Aspose.Cells for Python über .NET extrahiert. Sobald die Daten in Listenform vorliegen, können sie für Pandas, JSON oder andere Verarbeitungsaufgaben verwendet werden. Während Bibliotheken wie openpyxl oder pandas.readexcel Bereiche extrahieren können, bietet Aspose.Cells mehr Kontrolle über Formeln, Formatierungen, Diagramme und zusammengeführte Zellen, was es zur besseren Wahl für komplexe Excel-Operationen macht.

Wenn Sie Hilfe benötigen oder Fragen haben, können Sie sich gerne an unser Aspose.Cells Free Support Forum wenden. Unser Team wird Ihnen gerne helfen.

Siehe Auch