NumPy, Python’daki en popüler kütüphanelerden biridir. Veri bilimi, makine öğrenimi ve sayısal analizde önemli bir rol oynar. Birçok geliştirici, büyük veri setlerini hızlı bir şekilde işlemek için NumPy dizilerini (ndarray) kullanır.
Bizim önceki blog yazımızda, Excel dosyalarını NumPy dizilerine nasıl dönüştüreceğimizi açıkladık. Bu iş akışı, dış verileri analiz için Python’a getirmeniz gerektiğinde faydalıdır. Peki ya tersini isterseniz? Çoğu kez, NumPy’den Excel’e raporlama ve paylaşım için Python sonuçlarınızı dışa aktarmanız gerekir. Excel, işletmelerde, okullarda ve kuruluşlarda yaygın olarak kullanıldığı için işbirliği için ideal formatı oluşturur.
Bu kılavuzda, NumPy’yi Excel’e dönüştürmek için Python ve Aspose.Cells for Python via .NET kullanarak adım adım nasıl yapılacağını gösteriyoruz.
NumPy’yi Excel’e dönüştürmek neden önemlidir?
NumPy Python içinde hesaplamalar ve analizler için mükemmeldir. Ancak, genellikle sonuçları başkalarıyla paylaşmamız gerekiyor. Çoğu iş kullanıcısı, aşina oldukları ve kullanımı kolay olduğu için Excel’i tercih ediyor.
NumPy’yi Excel’e aktarmanız gerekebilecek bazı yaygın nedenler şunlardır:
- Veri raporlama: İşlenmiş verileri yöneticiler veya müşteriler için Excel dosyalarına dönüştürün.
- İşbirliği: Sonuçları Python kullanmayan takım arkadaşlarınızla paylaşın.
- İş analizi: NumPy sonuçlarını mevcut Excel raporları ve panoları ile birleştirin.
- Görselleştirme: Veriyi daha anlamlı hale getirmek için Excel grafiklerini ve pivot tablolarını kullanın.
Excel evrensel bir formattır. Python geliştiricileri ile teknik olmayan kullanıcılar arasında bir köprü kurar. NumPy dizilerini Excel’e aktararak, verilerinizi erişilebilir, kullanılabilir ve anlaşılması kolay hale getirirsiniz.
Python NumPy Excel Kütüphanesi
Aspose.Cells for Python güçlü bir elektronik tablo kütüphanesidir. Microsoft Excel’i yüklemeden Excel dosyaları oluşturmanıza, düzenlemenize ve işlemenize olanak tanır. Bu, Excel belgeleri üzerinde tam kontrol gerektiren geliştiriciler için tasarlanmış Python için en iyi Excel kütüphanesidir.Siz şunları yapabilirsiniz:
- Farklı formatlarda Excel dosyalarını yükleyin ve kaydedin.
- Çalışma sayfaları, tablolar, aralıklar ve grafiklerle çalışın.
- Python nesnelerinden, NumPy dizileri de dahil olmak üzere, veri içe aktarma ve dışa aktarma.
- Büyük veri kümelerini yüksek hız ve doğrulukla işleyin.
En iyi kısım, Aspose.Cells’in bağımsız çalışmasıdır. Excel veya herhangi bir harici yazılıma ihtiyacınız yok. Python uygulamalarınızda sorunsuz bir şekilde çalışır ve bilimsel iş akışlarıyla iyi bir şekilde bütünleşir. Bu, NumPy verilerini Excel dosyalarına dönüştürmek için güvenilir bir çözüm olmasını sağlar.
NumPy’yu Python’da Excel’e dönüştürün
NumPy dizisini Aspose.Cells ile Excel’e dönüştürmek basittir. Bu hızlı adımları izleyin:
Adım 1: Aspose.Cells’i .NET üzerinden Python için kurun
Paketi pip kullanarak kurun:
pip install aspose-cells-python
Adım 2: Gerekli Kütüphaneleri İçe Aktarın
Python script’inizde NumPy ve Aspose.Cells’i içe aktarın:
import numpy as np
import aspose.cells as cells
Adım 3: Örnek NumPy Dizisi Oluşturun
Test amacıyla basit bir 2D dizi oluşturun:
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
Adım 4: Özelleştirilmiş Bir Fonksiyon Tanımlayın – insertnumpyarray
NumPy değerleri genellikle numpy.int64
, numpy.float32
veya numpy.bool
gibi türlerde gelir. Bunların Excel hücrelerine yazılmadan önce yerel Python türlerine dönüştürülmesi gerekir.
Aşağıdaki yardımcı işlev, bu dönüşümü gerçekleştirir ve diziyi belirli bir satır ve sütundan başlayarak doğrudan bir çalışma sayfasına ekler:
# Özelleştirilmiş işlev, NumPy dizisini çalışma sayfasına ekler.
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 türlerini yerel Python türlerine dönüştürün
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)
Sonraki bölümlerde, NumPy verilerini bir Çalışma Kitabına, Çalışma Sayfasına, ListObject’e, Range’e ve İsimli Aralığa nasıl ekleyeceğimizi göstereceğiz. Önümüzdeki bölümlerdeki kod örnekleri, Adım 4: Özelleştirilmiş Fonksiyon bölümünde tanımlanan yardımcı fonksiyonu kullanmaktadır.
NumPy ndarray’ını Excel Çalışma Kitabına Dönüştürme Nasıl Yapılır
NumPy dizisinden yalnızca birkaç satırda tam bir Excel çalışma kitabı oluşturabilirsiniz. Bu yöntem, veri analizi sonuçlarını, makine öğrenimi çıktıları veya profesyonel olarak paylaşılabilecek veya daha fazla işlenebilecek bir Excel dosyasına aktarılacak tablolu veri kümelerini dışa aktarmak istediğinizde mükemmeldir.
Aşağıdaki adımları izleyerek NumPy ndarray’yi Excel Çalışma Kitabı’na dönüştürün:
- Veri kümenizle bir NumPy 2D dizisi oluşturun.
- Yeni bir boş çalışma kitabını
Workbook
sınıfını kullanarak başlatın. - Yeni bir çalışma sayfası eklemek için
worksheets.add()
yöntemini kullanın. - Yeni çalışma sayfasına indeksinden erişin.
- NumPy dizisi üzerinden döngü yapın ve hücrelere değerleri ekleyin.
- Workbook’u Excel dosyası olarak kaydedin.
Aşağıdaki kod örneği, bir NumPy ndarray’yi bir Excel çalışma kitabına nasıl dönüştüreceğinizi göstermektedir.
# NumPy dizisi oluşturun
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# NumPy dizisini Excel çalışma kitabına dönüştürme
workbook = cells.Workbook()
# Yeni bir çalışma sayfası ekleyin
new_sheet_index = workbook.worksheets.add()
worksheet = workbook.worksheets.get(new_sheet_index)
# Diziyi yeni çalışma sayfasına A1 hücresinden başlayarak ekleyin.
insert_numpy_array(worksheet, data)
# Excel dosyası olarak çalışma kitabını kaydedin.
workbook.save("numpy_to_workbook.xlsx")

NumPy’yi Excel Çalışma Kitabına Nasıl Dönüştürülebilir
NumPy ndarray’yi Çalışma Sayfasına Ekle
Bazen zaten bir çalışma kitabınız vardır ve yalnızca NumPy verilerini bir çalışma sayfasına eklemek istersiniz.
Aşağıdaki adımları izleyerek NumPy ndarray’i Worksheet’e dönüştürün:
- Veri kümenizle bir NumPy 2D dizisi oluşturun.
- Mevcut bir Excel dosyasını
Workbook
sınıfını kullanarak yükleyin. - Veri yerleştirmek istediğiniz çalışma sayfasını seçin.
- NumPy dizisi üzerinde döngü yapın ve değerleri çalışma sayfası hücrelerine ekleyin.
- Çalışma kitabını bir Excel dosyası olarak kaydedin.
Aşağıdaki kod örneği, bir NumPy ndarray’yi bir Excel çalışma kitabının belirli bir sayfasına nasıl yerleştireceğini göstermektedir:
# NumPy dizisi oluşturun
data = np.array([['City', 'Region', 'Store'], ['Chicago', 'Central', 3055], ['New York', 'East', 3036],
['Detroit', 'Central', 3074]])
# NumPy dizisini Excel çalışma kitabına dönüştürün.
workbook = cells.Workbook("numpy_to_workbook.xlsx")
# İlk çalışma sayfasına erişin
sheet = workbook.worksheets.get(0)
# NumPy dizisini A1 hücresinden başlayarak çalışma sayfasına ekleyin
insert_numpy_array(sheet, data, 0, 0)
# Çalışma kitabını Excel dosyası olarak kaydedin.
workbook.save("numpy_to_worksheet.xlsx")

NumPy ndarray’yi Worksheet’e nasıl dönüştürebiliriz?
NumPy ndarray’yi ListObject’a (Excel Tablosu) dönüştürmek için aşağıdaki adımları izleyebilirsiniz:
Öncelikle NumPy kütüphanesini ve pandas kütüphanesini import edin:
import numpy as np import pandas as pd
Bir NumPy ndarray oluşturun:
array = np.array([[1, 2], [3, 4], [5, 6]])
NumPy ndarray’yi pandas DataFrame’e dönüştürün:
df = pd.DataFrame(array)
DataFrame’i Excel dosyasına kaydedin (örneğin,
output.xlsx
):df.to_excel('output.xlsx', index=False)
Excel dosyasını açın ve veri aralığını seçin, ardından “Ekle” sekmesinden “Tablo” seçeneğini kullanarak Liste Nesnesi oluşturun.
Bu adımlarla NumPy ndarray’nizi Excel Tablosu (ListObject) olarak kullanabilirsiniz.
Excel tabloları (aynı zamanda ListObjects olarak da adlandırılır) verileri düzenlemek ve analiz etmek için güçlü bir yoldur. Aspose.Cells ile bir NumPy dizisini doğrudan bir ListObject’e içe aktarabilirsiniz.
Lütfen aşağıdaki adımları izleyerek NumPy ndarray’yi ListObject (Excel Tablosu) olarak dönüştürün:
- NumPy 2D dizisi ile örnek veri oluşturun.
- Yeni bir çalışma kitabı oluşturun ve ilk çalışma sayfasına erişin.
- NumPy verilerini bir yardımcı fonksiyon kullanarak çalışma sayfası hücrelerine yerleştirin.
- Dizi boyutlarına dayalı olarak başlangıç ve bitiş satır ve sütunlarını tanımlayın.
- Çalışma sayfasına
worksheet.listobjects.add()
kullanarak birListObject
ekleyin. ListObject
için bir görüntü adı atayın.- Çalışma kitabını bir Excel dosyası olarak kaydedin.
Aşağıdaki kod örneği, bir NumPy ndarray’yi bir Excel tablosuna nasıl dönüştüreceğinizi göstermektedir:
# NumPy dizisi oluşturun
data = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Yeni bir Excel çalışma kitabı oluşturun
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)
# NumPy dizisini, A1 hücresinden başlayarak çalışma sayfasına yerleştirin.
insert_numpy_array(worksheet, data)
# ListObject için aralığı tanımlayın.
start_row, start_col = 0, 0
end_row, end_col = data.shape[0] - 1, data.shape[1] - 1
# NumPy verisinden ListObject (Excel Tablosu) ekleyin
index = worksheet.list_objects.add(start_row, start_col, end_row, end_col, True)
list_object = worksheet.list_objects[index]
# Tablo için bir görüntü adı ayarlayın
list_object.display_name = "NumPyTable"
# Çalışma kitabını kaydet
workbook.save("numpy_to_listobject.xlsx")

NumPy ndarray’yi ListObject’a (Excel Tablosu) Dönüştürme Nasıl Yapılır
NumPy ndarray’yi Range’e dönüştür
Bazen bir NumPy dizisini belirli hücre aralıklarına yerleştirmek isteyebilirsiniz. Bu yöntem, verilerin çalışma sayfaları içinde hassas bir şekilde yerleştirilmesi gerektiğinde idealdir, örneğin, önceden tanımlanmış bir tablo alanını doldurmak veya analiz sonuçlarını seçilen hücre bloğuna aktarmak gibi.
Aşağıdaki adımları izleyerek NumPy ndarray’yi Range’e dönüştürün:
- Bir 2D NumPy ndarray oluşturun.
- Yeni bir çalışma kitabı oluşturun veya mevcut birini açın.
- Hedef çalışma sayfasını seçin.
- ndarray değerlerini döngüye alarak karşılık gelen Excel hücrelerine yerleştirin.
cells.createrange(startcell, endcell)
ile birRange
nesnesi oluşturun.- Doldurulmuş aralığı içeren çalışma sayfasını bir Excel dosyasına aktarın.
Aşağıdaki kod örneği, bir NumPy ndarray’sini bir Excel aralığına nasıl ekleyeceğini gösterir:
import numpy as np
from datetime import datetime
from aspose.cells import Workbook, CellsHelper
# Hücrelere NumPy değerlerini güvenle koymak için yardımcı
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,)):
# numpy datetime64 → Python datetime → Excel-uyumlu dize
value = str(np.datetime_as_string(raw_value, unit='D'))
else:
value = raw_value
cell.put_value(value)
# NumPy dizisini hücrelere yerleştirip Aralık'ı döndüren fonksiyon
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)
# Başlangıç/bitiş hücresine dayalı aralığı tanımlayın.
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)
# Bir örnek NumPy dizisi oluşturun
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')]
])
# Yeni bir Çalışma Kitabı oluşturun ve ilk çalışma sayfasını alın.
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells
# ndarray'ı çalışma sayfasına Aralık olarak ekle
range_obj = numpy_to_range(cells, data, 0, 0)
print("Row count:", range_obj.row_count)
print("Column count:", range_obj.column_count)
# Çalışma kitabını kaydedin
workbook.save("numpy_to_range.xlsx")

NumPy ndarray’yi Aralığa Nasıl Dönüştürülür
NumPy ndarray’yi İsim (Adlandırılmış Aralık) olarak nasıl dönüştürülür
Bazen Excel’de belirli bir veri aralığına anlamlı bir ad vermek isteyebilirsiniz. Bu, verileri formüllerde, grafiklerde veya diğer çalışma sayfalarında daha kolay referans almayı sağlar. Bu bölümde, NumPy’yi Python ve Aspose.Cells kullanarak Excel İsimli Aralığına nasıl dönüştüreceğinizi göstereceğiz. İsimli bir aralık oluşturarak, NumPy verilerinizle Excel içinde daha verimli bir şekilde çalışabilirsiniz.
Aşağıdaki adımları izleyerek bir NumPy ndarray’yi Aspose.Cells kullanarak Excel’de Adlandırılmış Aralığa dönüştürün.
- NumPy dizisi oluşturmak için Python’da.
- Yeni bir çalışma kitabı oluşturun ve hedef çalışma sayfasına erişin.
- Dizi üzerinde döngü yapın ve her bir değeri çalışma sayfasına ekleyin.
- Verilen verileri kapsayan bir aralık tanımlayın.
- O aralığa bir isim verin.
- Workbook’u Excel dosyası olarak kaydedin.
Aşağıdaki kod örneği, bir NumPy ndarray’yi Excel’deki adlandırılmış bir aralığa nasıl ekleyeceğinizi göstermektedir:
import numpy as np
import aspose.cells
from aspose.cells import Workbook, CellsHelper
# Yardımcı işlev, NumPy verilerini hücrelere eklemek için.
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)
# Kapalı hücre alanını döndürün
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
# ---------------------------
# NumPy dizisi örneği oluşturun
data = np.array([
['Product', 'Region', 'Sales'],
['Laptop', 'East', 1200],
['Phone', 'West', 950],
['Tablet', 'North', 740]
])
# Yeni bir Çalışma Kitabı oluşturun.
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells
# Hücrelere (0,0) konumundan başlayarak ndarray ekleyin.
(start_row, start_col, end_row, end_col) = insert_ndarray_into_cells(cells, data, 0, 0)
# Excel hücre referanslarını alın
start_cell = CellsHelper.cell_index_to_name(start_row, start_col)
end_cell = CellsHelper.cell_index_to_name(end_row, end_col)
# Bu ndarray için bir adlandırılmış aralık oluşturun.
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}"
# Çalışma kitabını kaydet
workbook.save("numpy_to_named_range.xlsx")

NumPy ndarray’yi Ad (Adlandırılmış Alan) olarak Nasıl Dönüştürülür
Aspose.Cells for Python ile Başlayın
Artık NumPy dizilerini Aspose.Cells kullanarak Excel’e dönüştürmenin ne kadar kolay olduğunu gördünüz. Kütüphane, çalışma kitapları, çalışma sayfaları, tablolar, aralıklar ve adlandırılmış aralıklar üzerinde tam kontrol sağlar.
İşte anlayışınızı geliştirmek için bazı yararlı bağlantılar:
Bir ücretsiz geçici lisans alın ve Python verilerinizi Excel iş akışlarıyla tamamen uyumlu hale getirmek için Aspose.Cells`i bugün kullanmaya başlayın.
NumPy’dan Excel’e: Sık Sorulan Sorular
Q1: Aspose.Cells’i kullanmak için Microsoft Excel’in yüklü olması gerekiyor mu?
Hayır. Aspose.Cells bağımsız çalışır. Excel veya herhangi bir yazılımın kurulu olmasına gerek yoktur.
Q2: Aspose.Cells büyük NumPy dizilerini işleyebilir mi?
Evet. Kütüphane büyük veri setleri için optimize edilmiştir ve büyük dizilerle bile iyi performans gösterir.
Q3: Hangi Excel formatları destekleniyor?
NumPy verilerinizi XLSX, XLS, CSV, ODS ve birçok diğer tablo formatına kaydedebilirsiniz.
Q4: NumPy verilerini dışa aktardıktan sonra Excel hücrelerini biçimlendirebilir miyim?
Evet. Stil, sayı formatları, formüller uygulayabilir ve hatta grafikler veya pivot tablolar oluşturabilirsiniz.
Q5: Aspose.Cells’in ücretsiz bir versiyonu var mı?
Evet. Bir ücretsiz deneme indirebilir veya test için bir geçici lisans talep edebilirsiniz.
Sonuç
NumPy, Python’da veri bilimi ve sayısal analiz için temel bir araçtır, ancak gerçek dünya raporlaması genellikle Excel’i gerektirir. .NET üzerinden Aspose.Cells for Python ile NumPy’yi Excel’e dönüştürmek sorunsuz ve esnek hale gelir. Bu kılavuzda, farklı yöntemleri keşfettik: NumPy dizilerini tam bir çalışma kitabına dışa aktarma, bir çalışma sayfasına veri ekleme, ListeNesnesi (Excel tablosu) olarak biçimlendirme, dizileri bir aralığa eşleme ve bunları adlandırılmış bir aralığa atama. Her yaklaşım eşsiz bir amaca hizmet eder. NumPy’nın gücünü Aspose.Cells’in esnekliğiyle birleştirerek, Python tabanlı analizden profesyonel Excel raporlarına etkili bir şekilde geçebilir, verilerinizin hem erişilebilir hem de sunuma hazır olmasını sağlayabilirsiniz.
Eğer herhangi bir sorunuz varsa, lütfen free support forum adresinde sormaktan çekinmeyin, size yardımcı olmaktan memnuniyet duyarız.