NumPy ist eine der beliebtesten Bibliotheken in Python. Es treibt Datenwissenschaft, maschinelles Lernen und numerische Analyse an. Viele Entwickler verwenden NumPy-Arrays (ndarray), um große Datensätze schnell zu verarbeiten.

In unserem vorherigen Blogbeitrag haben wir erklärt, wie man Excel Dateien in NumPy-Arrays umwandelt. Dieser Arbeitsablauf ist nützlich, wenn Sie externe Daten zur Analyse in Python einbringen möchten. Aber was ist, wenn Sie das Gegenteil wollen? Oft müssen Sie Ihre Python-Ergebnisse von NumPy nach Excel exportieren, um darüber zu berichten und zu teilen. Excel wird in Unternehmen, Schulen und Organisationen weit verbreitet genutzt, was es zum idealen Format für die Zusammenarbeit macht.

In diesem Leitfaden zeigen wir Ihnen Schritt für Schritt, wie Sie NumPy mit Python und Aspose.Cells for Python über .NET in Excel konvertieren können.

Warum NumPy in Excel konvertieren?

NumPy ist perfekt für Berechnungen und Analysen in Python. Aber wir müssen oft die Ergebnisse mit anderen teilen. Die meisten Geschäftsbenutzer bevorzugen Excel, weil es vertraut und einfach zu bedienen ist.

Hier sind einige häufige Gründe, warum Sie NumPy nach Excel exportieren müssen:

  • Datenberichterstattung: Verarbeiten Sie Daten in Excel Dateien für Manager oder Kunden.
  • Kollaboration: Teile Ergebnisse mit Teamkollegen, die Python nicht verwenden.
  • Business-Analyse: Kombinieren Sie NumPy-Ergebnisse mit vorhandenen Excel-Berichten und Dashboards.
  • Visualisierung: Verwenden Sie Excel-Diagramme und Pivot-Tabellen, um Daten aussagekräftiger zu machen.

Excel ist ein universelles Format. Es überbrückt die Kluft zwischen Python-Entwicklern und nicht-technischen Benutzern. Durch den Export von NumPy-Arrays nach Excel machen Sie Ihre Daten zugänglich, nutzbar und einfach verständlich.

Python NumPy Excel Bibliothek

Aspose.Cells for Python ist eine leistungsstarke Tabellenkalkulationsbibliothek. Sie ermöglicht es Ihnen, Excel Dateien zu erstellen, zu bearbeiten und zu verarbeiten, ohne Microsoft Excel zu installieren. Es ist die beste Excel-Bibliothek für Python, die für Entwickler konzipiert wurde, die die vollständige Kontrolle über Excel Dokumente benötigen. Sie können:

  • Laden und Speichern von Excel Dateien in verschiedenen Formaten.
  • Arbeiten mit Arbeitsblättern, Tabellen, Bereichen und Diagrammen.
  • Importieren und Exportieren von Daten aus Python Objekten, einschließlich NumPy-Arrays.
  • Große Datensätze mit hoher Geschwindigkeit und Genauigkeit verarbeiten.

Der beste Teil ist, dass Aspose.Cells unabhängig funktioniert. Sie benötigen kein Excel oder externe Software. Es läuft reibungslos in Ihren Python-Anwendungen und integriert sich gut in wissenschaftliche Arbeitsabläufe. Dies macht es zu einer zuverlässigen Lösung für die Konvertierung von NumPy-Daten in Excel Dateien.

Convert NumPy to Excel in Python

Das Konvertieren eines NumPy-Arrays in Excel mit Aspose.Cells ist einfach. Befolgen Sie diese schnellen Schritte:

Schritt 1: Installieren Sie Aspose.Cells for Python über .NET

Installiere das Paket mit pip:

pip install aspose-cells-python

Schritt 2: Benötigte Bibliotheken importieren

In deinem Python-Skript importiere NumPy und Aspose.Cells:

import numpy as np
import aspose.cells as cells

Schritt 3: Erstellen Sie ein Beispiel-NumPy-Array

Für Tests, erstellen Sie ein einfaches 2D-Array:

data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

Schritt 4: Definieren Sie eine benutzerdefinierte Funktion – insertnumpyarray

NumPy-Werte kommen häufig als Typen wie numpy.int64, numpy.float32 oder numpy.bool. Diese müssen in native Python-Typen umgewandelt werden, bevor sie in Excel-Zellen geschrieben werden.

Die Hilfsfunktion unten führt diese Konversion durch und fügt das Array direkt in ein Arbeitsblatt ab einer angegebenen Zeile und Spalte ein:

# Custom function to insert NumPy array into worksheet
def insert_numpy_array(sheet, ndarray, start_row=0, start_col=0):
    rows, cols = ndarray.shape
   for r in range(rows):
       for c in range(cols):
            value = ndarray[r, c]
            # NumPy-Typen in native Python-Typen umwandeln
            if isinstance(value, (np.integer,)):
                value = int(value)
            elif isinstance(value, (np.floating,)):
                value = float(value)
            elif isinstance(value, (np.bool_,)):
                value = bool(value)
            elif isinstance(value, (np.str_, np.str_)):
                value = str(value)
            sheet.cells.get(start_row + r, start_col + c).put_value(value)
            

In den nächsten Abschnitten werden wir demonstrieren, wie man NumPy-Daten in ein Arbeitsbuch, ein Arbeitsblatt, ein ListObject, einen Bereich und einen benannten Bereich einfügt. Die Codebeispiele in den kommenden Abschnitten verwenden die Hilfsfunktion, die im Abschnitt Schritt 4: Benutzerdefinierte Funktion definiert ist.

Wie man ein NumPy ndarray in eine Excel-Arbeitsmappe konvertiert

Sie können ein vollständiges Excel-Arbeitsbuch aus einem NumPy-Array in nur wenigen Zeilen erstellen. Diese Methode ist perfekt, wenn Sie die Ergebnisse von Datenanalysen, Ausgaben von maschinellem Lernen oder tabellarischen Datensätzen in eine professionelle Excel-Datei exportieren möchten, die geteilt oder weiterverarbeitet werden kann.

Befolgen Sie die folgenden Schritte, um ein NumPy ndarray in eine Excel-Arbeitsmappe zu konvertieren:

  1. Erstellen Sie ein NumPy 2D-Array mit Ihren Daten.
  2. Ein neues leeres Arbeitsbuch mit der Workbook Klasse initialisieren.
  3. Fügen Sie dem Arbeitsbuch mit der worksheets.add() Methode ein neues Arbeitsblatt hinzu.
  4. Greifen Sie auf das neue Arbeitsblatt über seinen Index zu.
  5. Durchlaufen Sie das NumPy-Array und fügen Sie Werte in die Arbeitsblattzellen ein.
  6. Speichern Sie die Arbeitsmappe als Excel-Datei.

Das folgende Codebeispiel zeigt, wie man ein NumPy ndarray in eine Excel-Arbeitsmappe konvertiert.

# Erstelle ein NumPy-Array
data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

# NumPy-Array in eine Excel-Arbeitsmappe konvertieren
workbook = cells.Workbook()

# Neue Arbeitsmappe hinzufügen
new_sheet_index = workbook.worksheets.add()
worksheet = workbook.worksheets.get(new_sheet_index)

# Fügen Sie das Array in das neue Arbeitsblatt ab Zelle A1 ein.
insert_numpy_array(worksheet, data)

# Speichern Sie die Arbeitsmappe als Excel-Datei
workbook.save("numpy_to_workbook.xlsx")
Wie man NumPy in eine Excel-Arbeitsmappe konvertiert

Wie man NumPy in ein Excel-Arbeitsbuch umwandelt

NumPy ndarray in Arbeitsblatt einfügen

Manchmal haben Sie bereits eine Arbeitsmappe und möchten nur NumPy-Daten in ein Arbeitsblatt einfügen.

Befolge die untenstehenden Schritte, um ein NumPy ndarray in ein Arbeitsblatt zu konvertieren:

  1. Erstellen Sie ein NumPy 2D-Array mit Ihren Daten.
  2. Laden Sie eine vorhandene Excel-Datei mit der Workbook Klasse.
  3. Wählen Sie das Arbeitsblatt aus, auf dem Sie die Daten platzieren möchten.
  4. Durchlaufen Sie das NumPy-Array und fügen Sie Werte in die Arbeitsblattzellen ein.
  5. Speichern Sie die Arbeitsmappe als Excel-Datei.

Der folgende Codeausschnitt zeigt, wie man ein NumPy ndarray in ein bestimmtes Arbeitsblatt einer Excel-Arbeitsmappe einfügt:

# Erstellen Sie ein NumPy-Array
data = np.array([['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036],
                 ['Detroit', 'Central', 3074]])

# NumPy-Array in Excel-Arbeitsmappe umwandeln
workbook = cells.Workbook("numpy_to_workbook.xlsx")

# Zugriff auf das erste Arbeitsblatt
sheet = workbook.worksheets.get(0)

# Fügen Sie das NumPy-Array in das Arbeitsblatt ein, beginnend mit A1.
insert_numpy_array(sheet, data, 0, 0)

# Speichern Sie die Arbeitsmappe als Excel-Datei.
workbook.save("numpy_to_worksheet.xlsx")
Wie man ein NumPy ndarray in ein Arbeitsblatt konvertiert

Wie man ein NumPy ndarray in ein Arbeitsblatt umwandelt

Wie man ein NumPy ndarray in ein ListObject (Excel-Tabelle) konvertiert

Excel-Tabellen (auch als ListObjects bezeichnet) sind eine leistungsstarke Möglichkeit, Daten zu organisieren und zu analysieren. Mit Aspose.Cells können Sie ein NumPy-Array direkt in ein ListObject importieren.

Bitte folgen Sie den untenstehenden Schritten, um ein NumPy ndarray in ein ListObject (Excel-Tabelle) zu konvertieren:

  1. Create a NumPy 2D array with sample data.
  2. Initialisieren Sie ein neues Arbeitsblatt und greifen Sie auf das erste Arbeitsblatt zu.
  3. Fügen Sie die NumPy-Daten mithilfe einer Hilfsfunktion in die Arbeitsblattzellen ein.
  4. Definieren Sie die Start und Endzeilen sowie -spalten basierend auf den Array-Dimensionen.
  5. Fügen Sie ein ListObject zum Arbeitsblatt hinzu, indem Sie worksheet.listobjects.add() verwenden.
  6. Weisen Sie dem ListObject einen Anzeigenamen zu.
  7. Speichern Sie die Arbeitsmappe als Excel-Datei.

Der folgende Codebeispiel zeigt, wie man ein NumPy ndarray in eine Excel-Tabelle konvertiert:

# Erstellen Sie ein NumPy-Array
data = np.array([[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]])

# Erstellen Sie eine neue Excel-Arbeitsmappe
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)

# Fügen Sie das NumPy-Array ab Zelle A1 in das Arbeitsblatt ein.
insert_numpy_array(worksheet, data)

# Definieren Sie den Bereich für das ListObject
start_row, start_col = 0, 0
end_row, end_col = data.shape[0] - 1, data.shape[1] - 1

# Fügen Sie ListObject (Excel-Tabelle) aus den NumPy-Daten hinzu.
index = worksheet.list_objects.add(start_row, start_col, end_row, end_col, True)
list_object = worksheet.list_objects[index]

# Setzen Sie einen Anzeigenamen für die Tabelle
list_object.display_name = "NumPyTable"

# Speichern Sie die Arbeitsmappe
workbook.save("numpy_to_listobject.xlsx")
Wie man ein NumPy ndarray in ein ListObject (Excel-Tabelle) umwandelt

Wie man NumPy ndarray in ListObject (Excel-Tabelle) konvertiert

NumPy ndarray in einen Bereich umwandeln

Manchmal möchten Sie ein NumPy-Array in einen bestimmten Bereich von Zellen platzieren. Diese Methode ist ideal, wenn Sie eine präzise Platzierung von Daten in Arbeitsblättern benötigen, z. B. um einen vordefinierten Tabellenbereich auszufüllen oder Analyseergebnisse in einen ausgewählten Zellblock zu exportieren.

Befolgen Sie die folgenden Schritte, um ein NumPy ndarray in einen Bereich umzuwandeln:

  1. Erstellen Sie ein 2D NumPy ndarray.
  2. Erstellen Sie ein neues Arbeitsbuch oder öffnen Sie ein bestehendes.
  3. Wählen Sie das Ziel-Arbeitsblatt aus.
  4. Durchlaufe ndarray-Werte und füge sie in die entsprechenden Excel-Zellen ein.
  5. Erstellen Sie ein Range Objekt mit cells.createrange(startcell, endcell).
  6. Exportieren Sie das Arbeitsblatt mit dem ausgefüllten Bereich in eine Excel-Datei.

Der folgende Codebeispiel zeigt, wie man ein NumPy ndarray in einen Excel-Bereich einfügt:

import numpy as np
from datetime import datetime
from aspose.cells import Workbook, CellsHelper

# Helfer zum sicheren Einfügen von NumPy-Werten in Zellen
def put_cell_value(cells, raw_value, row, col):
    cell = cells.get(row, col)
    if isinstance(raw_value, (np.bool_,)):
        value = bool(raw_value)
    elif isinstance(raw_value, (np.integer,)):
        value = int(raw_value)
    elif isinstance(raw_value, (np.floating,)):
        value = float(raw_value)
    elif isinstance(raw_value, (np.datetime64,)):
        # Convert numpy datetime64 → Python datetime → Excel-kompatibler String
        value = str(np.datetime_as_string(raw_value, unit='D'))
    else:
        value = raw_value
    cell.put_value(value)

# Funktion zum Einfügen eines NumPy-Arrays in Zellen und Rückgabe des Bereichs
def numpy_to_range(cells, data, start_row=0, start_col=0):
    rows, cols = data.shape
   for i in range(rows):
       for j in range(cols):
            put_cell_value(cells, data[i, j], start_row + i, start_col + j)

    # Definieren Sie den Bereich basierend auf Start-/Endzelle
    start_cell = CellsHelper.cell_index_to_name(start_row, start_col)
    end_cell = CellsHelper.cell_index_to_name(start_row + rows - 1, start_col + cols - 1)
    return cells.create_range(start_cell, end_cell)

# Erstellen Sie ein Beispiel-NumPy-Array
data = np.array([
    ['City', 'Region', 'Store', 'Date'],
    ['Chicago', 'Central', 3055, np.datetime64('2025-01-15')],
    ['New York', 'East', 3036, np.datetime64('2025-02-10')],
    ['Detroit', 'Central', 3074, np.datetime64('2025-03-05')]
])

# Erstellen Sie ein neues Arbeitsbuch und erhalten Sie das erste Arbeitsblatt.
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells

# Fügen Sie ndarray als Bereich in das Arbeitsblatt ein.
range_obj = numpy_to_range(cells, data, 0, 0)

print("Row count:", range_obj.row_count)
print("Column count:", range_obj.column_count)

# Speichere die Arbeitsmappe
workbook.save("numpy_to_range.xlsx")
Wie man ein NumPy ndarray in einen Bereich umwandelt

Wie man ein NumPy ndarray in einen Bereich umwandelt

Wie man ein NumPy ndarray in einen Namen (benannter Bereich) umwandelt

Manchmal möchten Sie möglicherweise einem bestimmten Datenbereich in Excel einen aussagekräftigen Namen zuweisen. Dies erleichtert das Referenzieren der Daten in Formeln, Diagrammen oder anderen Arbeitsblättern. In diesem Abschnitt zeigen wir Ihnen, wie Sie NumPy in ein Excel- benanntes Bereich mithilfe von Python und Aspose.Cells umwandeln. Durch das Erstellen eines benannten Bereichs können Sie effizienter mit Ihren NumPy-Daten in Excel arbeiten.

Befolgen Sie die folgenden Schritte, um ein NumPy ndarray in einen benannten Bereich in Excel mit Aspose.Cells zu konvertieren.

  1. Create a NumPy-Array in Python.
  2. Erstellen Sie ein neues Arbeitsblatt und greifen Sie auf das Zielarbeitsblatt zu.
  3. Durchlaufe das Array und füge jeden Wert in das Arbeitsblatt ein.
  4. Definieren Sie einen Bereich, der die importierten Daten abdeckt.
  5. Einen Namen für diesen Bereich zuweisen.
  6. Speichern Sie die Arbeitsmappe als Excel-Datei.

Das folgende Codebeispiel zeigt, wie man ein NumPy ndarray in einen benannten Bereich in Excel einfügt:

import numpy as np
import aspose.cells
from aspose.cells import Workbook, CellsHelper

# Helferfunktion zum Einfügen von NumPy-Daten in Arbeitsblattzellen
def put_cell_value(cells, raw_value, row, column):
    if isinstance(raw_value, (np.bool_)):
        value = bool(raw_value)
    elif isinstance(raw_value, (np.integer)):
        value = int(raw_value)
    elif isinstance(raw_value, (np.floating)):
        value = float(raw_value)
    elif isinstance(raw_value, (np.datetime64)):
        value = str(np.datetime_as_string(raw_value, unit='D'))
    else:
        value = str(raw_value)
    cells.get(row, column).put_value(value)

def insert_ndarray_into_cells(cells, data, start_row, start_col):
    row_count = data.shape[0]
    col_count = data.shape[1]

   for r in range(row_count):
       for c in range(col_count):
            put_cell_value(cells, data[r][c], start_row + r, start_col + c)

    # Return the covered cell area
    end_row = start_row + row_count - 1
    end_col = start_col + col_count - 1
    return (start_row, start_col, end_row, end_col)

# ---------------------------
# Main Code
# ---------------------------

# Create a sample NumPy array
data = np.array([
    ['Product', 'Region', 'Sales'],
    ['Laptop', 'East', 1200],
    ['Phone', 'West', 950],
    ['Tablet', 'North', 740]
])

# Erstellen Sie eine neue Arbeitsmappe
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells

# Fügen Sie ndarray in die Zellen ein, die bei (0,0) beginnen.
(start_row, start_col, end_row, end_col) = insert_ndarray_into_cells(cells, data, 0, 0)

# Get Excel-Zellenreferenzen
start_cell = CellsHelper.cell_index_to_name(start_row, start_col)
end_cell = CellsHelper.cell_index_to_name(end_row, end_col)

# Erstellen Sie einen benannten Bereich für dieses ndarray
idx = workbook.worksheets.names.add("SalesData")  # returns index
named_range = workbook.worksheets.names[idx]  # get the Name object
named_range.refers_to = f"={worksheet.name}!{start_cell}:{end_cell}"

# Speichern Sie die Arbeitsmappe
workbook.save("numpy_to_named_range.xlsx")
Wie man ein NumPy ndarray in einen Namen (benanntes Feld) umwandelt

Wie man ein NumPy ndarray in einen Namen (benannter Bereich) umwandelt

Mit Aspose.Cells for Python beginnen

Sie haben jetzt gesehen, wie einfach es ist, NumPy-Arrays mit Aspose.Cells in Excel zu konvertieren. Die Bibliothek gibt Ihnen die volle Kontrolle über Arbeitsmappen, Arbeitsblätter, Tabellen, Bereiche und benannte Bereiche.

Hier sind einige nützliche Links, um Ihr Verständnis zu verbessern:

Holen Sie sich eine kostenlose temporäre Lizenz und beginnen Sie heute mit der Verwendung von Aspose.Cells, um Ihre Python-Daten vollständig kompatibel mit Excel-Arbeitsabläufen zu machen.

NumPy zu Excel: FAQs

Q1: Muss ich Microsoft Excel installiert haben, um Aspose.Cells zu verwenden?

Nein. Aspose.Cells funktioniert unabhängig. Sie benötigen kein Excel oder eine andere Software, die installiert ist.

Q2: Kann Aspose.Cells große NumPy-Arrays verarbeiten?

Ja. Die Bibliothek ist für große Datensätze optimiert und funktioniert auch bei großen Arrays gut.

Q3: Welche Excel-Formate werden unterstützt?

Sie können Ihre NumPy-Daten in XLSX, XLS, CSV, ODS und viele andere Tabellenformaten speichern.

Q4: Kann ich Excel-Zellen nach dem Exportieren von NumPy-Daten formatieren?

Ja. Sie können Stile, Zahlenformate, Formeln anwenden und sogar Diagramme oder Pivot-Tabellen erstellen.

Q5: Gibt es eine kostenlose Version von Aspose.Cells?

Ja. Sie können eine kostenlose Testversion herunterladen oder eine temporäre Lizenz für Tests anfordern.

Kon conclusion

NumPy ist ein zentrales Werkzeug für Datenwissenschaft und numerische Analyse in Python, aber die Berichterstattung in der realen Welt erfordert oft Excel. Mit Aspose.Cells for Python über .NET wird die Konvertierung von NumPy in Excel nahtlos und flexibel. In diesem Leitfaden haben wir verschiedene Methoden untersucht: das Exportieren von NumPy-Arrays in eine vollständige Arbeitsmappe, das Einfügen von Daten in ein Arbeitsblatt, das Formatieren als ListObject (Excel-Tabelle), das Zuordnen von Arrays in einen Bereich und das Zuweisen an einen benannten Bereich. Jeder Ansatz hat einen einzigartigen Zweck. Durch die Kombination der Leistungsfähigkeit von NumPy mit der Flexibilität von Aspose.Cells können Sie effizient von Python-basierter Analyse zu professionellen Excel-Berichten wechseln und sicherstellen, dass Ihre Daten sowohl zugänglich als auch präsentationsbereit sind.

Wenn Sie Fragen haben, zögern Sie bitte nicht, in unserem free support forum zu fragen, und wir helfen Ihnen gerne.

Siehe auch