NumPy je jedna z nejpopulárnějších knihoven v Pythonu. Pohání vědecká data, strojové učení a numerickou analýzu. Mnoho vývojářů používá pole NumPy (ndarray) k rychlému zpracování velkých datových sad.
V našem předchozím příspěvku na blogu jsme vysvětlili, jak převést soubory Excel na pole NumPy. Tento pracovní postup je užitečný, když potřebujete přenést externí data do Pythonu pro analýzu. Ale co když chcete opačný postup? Mnohokrát je třeba exportovat vaše výsledky z Pythonu z NumPy do Excelu pro reportování a sdílení. Excel je široce používán v podnikání, školách a organizacích, což z něj dělá ideální formát pro spolupráci.
V této příručce vám ukážeme krok za krokem, jak převést NumPy na Excel pomocí Pythonu a Aspose.Cells for Python prostřednictvím .NET.
Proč převádět NumPy na Excel?
NumPy je perfektní pro výpočty a analýzy uvnitř Pythonu. Ale často potřebujeme sdílet výsledky s ostatními. Většina obchodních uživatelů preferuje Excel, protože je známý a snadno se používá.
Zde jsou některé běžné důvody, proč můžete potřebovat exportovat NumPy do Excelu:
- Data reporting: Convert processed data into Excel files for managers or clients.
- Spolupráce: Sdílejte výsledky s členy týmu, kteří nepoužívají Python.
- Business analysis: Combine NumPy results with existing Excel reports and dashboards.
- Vizualizace: Použijte grafy Excel a kontingenční tabulky, aby byly údaje smysluplnější.
Excel je univerzální formát. Překonává mezeru mezi vývojáři v Pythonu a netechnickými uživateli. Exportováním polí NumPy do Excelu zpřístupňujete, zpřehledňujete a usnadňujete použití vašich dat.
Python NumPy Excel knihovna
Aspose.Cells for Python je mocná knihovna pro tabulky. Umožňuje vám vytvářet, upravovat a zpracovávat soubory Excel bez nutnosti instalace Microsoft Excel. Je to nejlepší knihovna Excel pro Python, navržená pro vývojáře, kteří potřebují plnou kontrolu nad dokumenty Excel. Můžete:
- Načtěte a uložte soubory Excel v různých formátech.
- Pracujte s pracovními listy, tabulkami, rozsahy a grafy.
- Import and export data from Python objects, including NumPy arrays.
- Zpracovávejte velké datové sady s vysokou rychlostí a přesností.
Nejlepší na tom je, že Aspose.Cells funguje nezávisle. Nebudete potřebovat Excel ani žádný externí software. Bez problémů běží ve vašich Python aplikacích a dobře se integruje se vědeckými pracovními postupy. To z něj dělá spolehlivé řešení pro převod dat NumPy do souborů Excel.
Convert NumPy to Excel in Python
Převedení pole NumPy na Excel pomocí Aspose.Cells je jednoduché. Postupujte podle těchto rychlých kroků:
Krok 1: Nainstalujte Aspose.Cells for Python přes .NET
Nainstalujte balíček pomocí pip:
pip install aspose-cells-python
Krok 2: Importovat potřebné knihovny
Ve svém Python skriptu importujte NumPy a Aspose.Cells:
import numpy as np
import aspose.cells as cells
Krok 3: Vytvořte vzorové pole NumPy
Pro testování vytvořte jednoduché 2D pole:
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
Krok 4: Definujte vlastní funkci – insertnumpyarray
Hodnoty NumPy často přicházejí jako typy jako numpy.int64, numpy.float32 nebo numpy.bool. Tyto je potřeba převést na nativní typy Pythonu před zápisem do buněk v Excelu.
Pomocná funkce níže provádí tuto konverzi a přímo vkládá pole do pracovního listu, počínaje daným řádkem a sloupcem:
# Vlastní funkce pro vložení pole NumPy do pracovního sešitu
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]
# Převod typů NumPy na nativní typy Pythonu
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)
V následujících sekcích předvedeme, jak vložit data NumPy do sešitu, listu, objektu seznamu, oblasti a pojmenované oblasti. Příklad kódu v následujících sekcích používá pomocnou funkci definovanou v části Krok 4: Vlastní funkce.
Jak převést NumPy ndarray na Excel workbook
Můžete vytvořit kompletní Excel sešit z pole NumPy za pouhých několik řádků. Tato metoda je ideální, když chcete exportovat výsledky analýzy dat, výstupy strojového učení nebo tabulkové datové sady do profesionálního Excel souboru, který může být sdílen nebo dále zpracován.
Postupujte podle následujících kroků pro převod NumPy ndarray na sešit Excel:
- Vytvořte 2D pole NumPy se svými daty.
- Inicializujte novou prázdnou sešitu pomocí třídy
Workbook. - Přidejte nový list do sešitu pomocí metody
worksheets.add(). - Získejte přístup k nové pracovnímu listu podle jeho indexu.
- Procházejte pole NumPy a vkládejte hodnoty do buněk pracovního listu.
- Uložte sešit jako soubor Excel.
Následující příklad kódu ukazuje, jak převést NumPy ndarray na Excel pracovní sešit.
# Vytvořte pole NumPy
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Převést NumPy pole na Excelovou pracovní knihu
workbook = cells.Workbook()
# Přidat nový list
new_sheet_index = workbook.worksheets.add()
worksheet = workbook.worksheets.get(new_sheet_index)
# Vložte pole do nového listu počínaje buňkou A1
insert_numpy_array(worksheet, data)
# Uložte sešit jako soubor Excel.
workbook.save("numpy_to_workbook.xlsx")

Jak převést NumPy na Excel Workbook
Vložení NumPy ndarray do pracovního listu
Někdy už máte sešit a chcete pouze vložit data NumPy do jednoho listu.
Postupujte podle níže uvedených kroků pro převod NumPy ndarray na Worksheet:
- Vytvořte 2D pole NumPy se svými daty.
- Načtěte existující Excel soubor pomocí třídy
Workbook. - Vyberte pracovní list, kam chcete umístit data.
- Procházejte pole NumPy a vkládejte hodnoty do buněk pracovního listu.
- Uložte sešit jako soubor Excel.
Následující příklad kódu ukazuje, jak vložit NumPy ndarray do konkrétního pracovního listu v sešitě Excel:
# Vytvořte pole NumPy
data = np.array([['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036],
['Detroit', 'Central', 3074]])
# Převést pole NumPy na sešit Excel
workbook = cells.Workbook("numpy_to_workbook.xlsx")
# Přístup k prvnímu pracovnímu listu
sheet = workbook.worksheets.get(0)
# Vložení pole NumPy do pracovního listu počínaje A1
insert_numpy_array(sheet, data, 0, 0)
# Uložte pracovní sešit jako soubor Excel.
workbook.save("numpy_to_worksheet.xlsx")

Jak převést NumPy ndarray na pracovní list
Jak převést NumPy ndarray na ListObject (tabulka Excelu)
Excel tabulky (také nazývané ListObjects) jsou silný způsob, jak organizovat a analyzovat data. S Aspose.Cells můžete přímo importovat pole NumPy do ListObject.
Prosím, postupujte podle níže uvedených kroků pro převod NumPy ndarray na ListObject (Tabulka Excel):
- Vytvořte 2D pole NumPy se vzorovými daty.
- Inicializujte nový sešit a přístupte k prvnímu listu.
- Vložte data NumPy do buněk pracovního listu pomocí pomocné funkce.
- Definujte počáteční a koncové řádky a sloupce na základě rozměrů pole.
- Přidejte
ListObjectdo pracovního listu pomocíworksheet.listobjects.add(). - Přiřaďte zobrazovací jméno k
ListObject. - Uložte pracovní sešit jako soubor Excel.
Následující příklad kódu ukazuje, jak převést NumPy ndarray na excelovou tabulku:
# Vytvořte pole NumPy
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Vytvořit nový sešit Excelu
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)
# Vložte pole NumPy do pracovního listu počínaje buňkou A1
insert_numpy_array(worksheet, data)
# Definujte rozsah pro ListObject
start_row, start_col = 0, 0
end_row, end_col = data.shape[0] - 1, data.shape[1] - 1
# Přidejte ListObject (Excel tabulka) z dat NumPy
index = worksheet.list_objects.add(start_row, start_col, end_row, end_col, True)
list_object = worksheet.list_objects[index]
# Nastavit název zobrazení pro tabulku
list_object.display_name = "NumPyTable"
# Uložte pracovní knihu
workbook.save("numpy_to_listobject.xlsx")

Jak převést NumPy ndarray na ListObject (Excel tabulka)
Převést NumPy ndarray na Range
Někdy můžete chtít umístit pole NumPy do konkrétního rozsahu buněk. Tato metoda je ideální, když potřebujete přesné umístění dat uvnitř pracovních listů, například vyplnění předdefinované oblasti tabulky nebo exportování výsledků analýzy do vybraného bloku buněk.
Následujte níže uvedené kroky pro převod NumPy ndarray na Range:
- Vytvořte 2D NumPy ndarray.
- Vytvořte nový sešit nebo otevřete existující.
- Vyberte cílový pracovní list.
- Procházejte hodnoty ndarray a vložte je do odpovídajících buněk Excelu.
- Vytvořte objekt
Rangepomocícells.createrange(startcell, endcell). - Exportujte pracovní list s vyplněným rozsahem do souboru Excel.
Následující příklad kódu ukazuje, jak vložit NumPy ndarray do rozsahu Excelu:
import numpy as np
from datetime import datetime
from aspose.cells import Workbook, CellsHelper
# Nástroj pro bezpečné umístění hodnot NumPy do buněk
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,)):
# Převeďte numpy datetime64 → Python datetime → Excel-kompatibilní řetězec
value = str(np.datetime_as_string(raw_value, unit='D'))
else:
value = raw_value
cell.put_value(value)
# Funkce pro vložení NumPy pole do buněk a vrácení rozsahu
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)
# Definujte rozsah na základě začínací/konečné buňky
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)
# Vytvořte ukázkové pole NumPy
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')]
])
# Vytvořte novou pracovní knihu a získejte první list.
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells
# Vložte ndarray do pracovního listu jako Rozsah
range_obj = numpy_to_range(cells, data, 0, 0)
print("Row count:", range_obj.row_count)
print("Column count:", range_obj.column_count)
# Uložte pracovní sešit
workbook.save("numpy_to_range.xlsx")

Jak převést NumPy ndarray na rozsah
Jak převést NumPy ndarray na název (pojmenovaný rozsah)
Někdy můžete chtít přiřadit smysluplný název konkrétnímu rozsahu dat v Excelu. To usnadňuje odkazování na data ve vzorcích, grafech nebo v jiných pracovních listech. V této sekci vám ukážeme, jak převést NumPy na pojmenovaný rozsah Excelu pomocí Pythonu a Aspose.Cells. Vytvořením pojmenovaného rozsahu můžete efektivněji pracovat se svými daty NumPy v Excelu.
Postupujte podle níže uvedených kroků pro převod NumPy ndarray na pojmenovaný rozsah v Excelu pomocí Aspose.Cells.
- Vytvořte pole NumPy v Pythonu.
- Vytvořte novou pracovní knihu a získáte přístup k cílovému listu.
- Projděte pole a vložte každou hodnotu do pracovního listu.
- Definujte rozsah pokrývající importovaná data.
- Přiřaďte názvem tuto oblast.
- Uložte sešit jako soubor Excel.
Následující příklad kódu ukazuje, jak vložit NumPy ndarray do pojmenovaného rozsahu v Excelu:
import numpy as np
import aspose.cells
from aspose.cells import Workbook, CellsHelper
# Funkce pomocná pro vložení dat NumPy do buněk pracovního listu
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)
# Vrátit pokrytou plochu buněk
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
# ---------------------------
# Vytvořte vzorové pole NumPy
data = np.array([
['Product', 'Region', 'Sales'],
['Laptop', 'East', 1200],
['Phone', 'West', 950],
['Tablet', 'North', 740]
])
# Vytvořte nový sešit
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells
# Vložte ndarray do buněk počínaje (0,0)
(start_row, start_col, end_row, end_col) = insert_ndarray_into_cells(cells, data, 0, 0)
# Získejte odkazy na buňky v Excelu
start_cell = CellsHelper.cell_index_to_name(start_row, start_col)
end_cell = CellsHelper.cell_index_to_name(end_row, end_col)
# Vytvořte pojmenovaný rozsah pro tento 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}"
# Uložte sešit
workbook.save("numpy_to_named_range.xlsx")

Jak převést NumPy ndarray na název (pojmenovaný rozsah)
Začněte s Aspose.Cells for Python
Nyní jste viděli, jak snadné je převést NumPy pole do Excelu pomocí Aspose.Cells. Knihovna vám dává plnou kontrolu nad sešity, listy, tabulkami, intervaly a pojmenovanými intervaly.
Zde jsou některé užitečné odkazy, které vám pomohou prohloubit vaše porozumění:
Získejte bezplatnou dočasnou licenci a začněte používat Aspose.Cells již dnes, aby byly vaše data v Pythonu plně kompatibilní s pracovními postupy v Excelu.
NumPy do Excel: Často kladené otázky
Q1: Je potřeba mít nainstalovaný Microsoft Excel pro použití Aspose.Cells?
Ne. Aspose.Cells funguje nezávisle. Nemusíte mít nainstalovaný Excel ani žádný jiný software.
Q2: Může Aspose.Cells zpracovávat velké NumPy pole?
Ano. Knihovna je optimalizována pro velké datasety a i s velkými poli funguje dobře.
Q3: Které formáty Excelu jsou podporovány?
Můžete uložit svá data NumPy do formátů tabulek XLSX, XLS, CSV, ODS a mnoha dalších.
Q4: Mohu formátovat buňky Excelu po exportu dat z NumPy?
Ano. Můžete aplikovat styly, formáty čísel, vzorce a dokonce vytvářet grafy nebo kontingenční tabulky.
Q5: Je k dispozici bezplatná verze Aspose.Cells?
Ano. Můžete si stáhnout bezplatnou zkušební verzi nebo požádat o dočasnou licenci pro testování.
Závěr
NumPy je základním nástrojem pro datovou vědu a numerickou analýzu v Pythonu, ale reportování ve skutečném světě často vyžaduje Excel. S Aspose.Cells for Python prostřednictvím .NET se převod NumPy na Excel stává bezproblémovým a flexibilním. V této příručce jsme prozkoumali různé metody: exportování NumPy polí do kompletního sešitu, vkládání dat do pracovní listu, formátování jako ListObject (tabulka Excel), mapování polí do oblasti a jejich přiřazení k pojmenované oblasti. Každý přístup slouží jedinečnému účelu. Kombinací síly NumPy s flexibilitou Aspose.Cells můžete efektivně přejít od analýzy v Pythonu k profesionálním Excelovým reportům, což zajistí, že vaše data budou dostupná a připravená na prezentaci.
Pokud máte nějaké dotazy, neváhejte se ptát na našem free support forum a my vám rádi pomůžeme.
