NumPy adalah salah satu pustaka yang paling populer di Python. Ini memfasilitasi ilmu data, pembelajaran mesin, dan analisis numerik. Banyak pengembang menggunakan array NumPy (ndarray) untuk menangani dataset besar dengan cepat.

Dalam posting blog sebelumnya, kami menjelaskan bagaimana cara mengonversi file Excel menjadi array NumPy. Alur kerja itu berguna ketika Anda perlu membawa data eksternal ke dalam Python untuk analisis. Tetapi bagaimana jika Anda ingin sebaliknya? Banyak kali, Anda perlu mengekspor hasil Python Anda dari NumPy ke Excel untuk pelaporan dan berbagi. Excel banyak digunakan di bisnis, sekolah, dan organisasi, menjadikannya format yang ideal untuk kolaborasi.

Dalam panduan ini, kami akan menunjukkan kepada Anda langkah demi langkah cara mengonversi NumPy ke Excel menggunakan Python dan Aspose.Cells for Python melalui .NET.

Mengapa Mengonversi NumPy ke Excel?

NumPy sangat cocok untuk perhitungan dan analisis di dalam Python. Namun, kita sering perlu membagikan hasilnya dengan orang lain. Sebagian besar pengguna bisnis lebih memilih Excel karena itu sudah dikenal dan mudah digunakan.

Berikut adalah beberapa alasan umum mengapa Anda mungkin perlu mengekspor NumPy ke Excel:

  • Pelaporan data: Mengonversi data yang diproses menjadi file Excel untuk manajer atau klien.
  • Kolaborasi: Bagikan hasil dengan rekan tim yang tidak menggunakan Python.
  • Analisis bisnis: Gabungkan hasil NumPy dengan laporan Excel dan dasbor yang ada.
  • Visualisasi: Gunakan grafik Excel dan tabel pivot untuk membuat data lebih bermakna.

Excel adalah format universal. Ini menjembatani kesenjangan antara pengembang Python dan pengguna non-teknis. Dengan mengekspor array NumPy ke Excel, Anda membuat data Anda dapat diakses, digunakan, dan mudah dipahami.

Python NumPy Excel Library

Aspose.Cells for Python adalah pustaka spreadsheet yang kuat. Ini memungkinkan Anda untuk membuat, mengedit, dan memproses file Excel tanpa menginstal Microsoft Excel. Ini adalah pustaka Excel terbaik untuk Python, dirancang untuk pengembang yang memerlukan kendali penuh atas dokumen Excel. Anda dapat:

  • Muat dan simpan file Excel dalam berbagai format.
  • Bekerja dengan lembar kerja, tabel, rentang, dan grafik.
  • Impor dan ekspor data dari objek Python, termasuk array NumPy.
  • Tangani dataset besar dengan kecepatan dan akurasi tinggi.

Bagian terbaik adalah bahwa Aspose.Cells bekerja secara mandiri. Anda tidak perlu Excel atau perangkat lunak eksternal apa pun. Ini berjalan dengan lancar di aplikasi Python Anda dan terintegrasi dengan baik dengan alur kerja ilmiah. Ini menjadikannya solusi yang dapat diandalkan untuk mengonversi data NumPy menjadi file Excel.

Convert NumPy to Excel in Python

Mengonversi array NumPy ke Excel dengan Aspose.Cells itu sederhana. Ikuti langkah-langkah cepat ini:

Langkah 1: Instal Aspose.Cells for Python melalui .NET

Instal paket menggunakan pip:

pip install aspose-cells-python

Langkah 2: Impor Library yang Diperlukan

Dalam skrip Python Anda, impor NumPy dan Aspose.Cells:

import numpy as np
import aspose.cells as cells

Langkah 3: Buat Array NumPy Contoh

Untuk pengujian, buatlah array 2D sederhana:

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

Langkah 4: Menentukan Fungsi Kustom – insertnumpyarray

Nilai NumPy sering datang sebagai tipe seperti numpy.int64, numpy.float32, atau numpy.bool. Ini perlu dikonversi menjadi tipe Python asli sebelum ditulis ke dalam sel Excel.

Fungsi pembantu di bawah ini melakukan konversi ini dan menyisipkan array secara langsung ke dalam lembar kerja mulai dari baris dan kolom yang diberikan:

# 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]
            # Konversi tipe NumPy ke tipe Python asli
            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)
            

Pada bagian berikutnya, kami akan menunjukkan cara menyisipkan data NumPy ke dalam Workbook, Worksheet, ListObject, Range, dan Named Range. Contoh kode di bagian mendatang menggunakan fungsi pembantu yang didefinisikan dalam bagian Langkah 4: Fungsi Kustom.

Cara Mengonversi NumPy ndarray ke Workbook Excel

Anda dapat membuat buku kerja Excel lengkap dari array NumPy hanya dalam beberapa baris. Metode ini sempurna ketika Anda ingin mengekspor hasil analisis data, keluaran pembelajaran mesin, atau dataset tabel ke dalam file Excel profesional yang dapat dibagikan atau diproses lebih lanjut.

Ikuti langkah-langkah di bawah ini untuk mengonversi NumPy ndarray ke Buku Kerja Excel:

  1. Buat array 2D NumPy dengan data Anda.
  2. Inisialisasi sebuah workbook kosong baru menggunakan kelas Workbook.
  3. Tambahkan lembar kerja baru ke buku kerja menggunakan metode worksheets.add().
  4. Akses lembar kerja baru dengan indeksnya.
  5. Loop melalui array NumPy dan masukkan nilai ke dalam sel worksheet.
  6. Simpan workbook sebagai file Excel.

Contoh kode berikut menunjukkan cara mengonversi ndarray NumPy ke workbook Excel.

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

# Ubah array NumPy menjadi buku kerja Excel
workbook = cells.Workbook()

# Tambahkan lembar kerja baru
new_sheet_index = workbook.worksheets.add()
worksheet = workbook.worksheets.get(new_sheet_index)

# Masukkan array ke dalam lembar kerja baru mulai dari sel A1
insert_numpy_array(worksheet, data)

# Simpan buku kerja sebagai file Excel
workbook.save("numpy_to_workbook.xlsx")
Cara Mengonversi NumPy menjadi Buku Kerja Excel

Bagaimana Mengonversi NumPy ke Workbook Excel

Sisipkan ndarray NumPy ke dalam Worksheet

Kadang-kadang Anda sudah memiliki buku kerja, dan Anda hanya ingin menyisipkan data NumPy ke dalam satu lembar kerja.

Ikuti langkah-langkah di bawah ini untuk mengonversi NumPy ndarray menjadi Worksheet:

  1. Buat array 2D NumPy dengan data Anda.
  2. Muat file Excel yang sudah ada menggunakan kelas Workbook.
  3. Pilih lembar kerja di mana Anda ingin menempatkan data.
  4. Loop melalui array NumPy dan masukkan nilai ke dalam sel worksheet.
  5. Simpan workbook sebagai file Excel.

Contoh kode berikut menunjukkan cara untuk menyisipkan ndarray NumPy ke dalam lembar kerja tertentu dari buku kerja Excel:

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

# Ubah array NumPy menjadi workbook Excel
workbook = cells.Workbook("numpy_to_workbook.xlsx")

# Akses lembar kerja pertama
sheet = workbook.worksheets.get(0)

# Sisipkan array NumPy ke dalam lembar kerja mulai dari A1
insert_numpy_array(sheet, data, 0, 0)

# Simpan buku kerja sebagai file Excel
workbook.save("numpy_to_worksheet.xlsx")
Cara Mengonversi NumPy ndarray ke Worksheet

Bagaimana cara Mengonversi ndarray NumPy ke Worksheet

Cara Mengonversi ndarray NumPy ke ListObject (Tabel Excel)

Tabel Excel (juga disebut ListObjects) adalah cara yang kuat untuk mengorganisir dan menganalisis data. Dengan Aspose.Cells, Anda dapat langsung mengimpor array NumPy ke dalam ListObject.

Silakan ikuti langkah-langkah di bawah ini untuk mengonversi NumPy ndarray ke ListObject (Tabel Excel):

  1. Buat array 2D NumPy dengan data sampel.
  2. Inisialisasi buku kerja baru dan akses lembar kerja pertama.
  3. Masukkan data NumPy ke dalam sel worksheet menggunakan fungsi pembantu.
  4. Tentukan baris dan kolom awal serta akhir berdasarkan dimensi array.
  5. Tambahkan ListObject ke worksheet menggunakan worksheet.listobjects.add().
  6. Tetapkan nama tampilan untuk ListObject.
  7. Simpan workbooks sebagai file Excel.

Contoh kode berikut menunjukkan cara mengonversi ndarray NumPy menjadi tabel Excel:

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

# Buat buku kerja Excel baru
workbook = cells.Workbook()
worksheet = workbook.worksheets.get(0)

# Sisipkan array NumPy ke dalam lembar kerja mulai dari sel A1
insert_numpy_array(worksheet, data)

# Tentukan rentang untuk ListObject
start_row, start_col = 0, 0
end_row, end_col = data.shape[0] - 1, data.shape[1] - 1

# Tambahkan ListObject (Tabel Excel) dari data NumPy
index = worksheet.list_objects.add(start_row, start_col, end_row, end_col, True)
list_object = worksheet.list_objects[index]

# Atur nama tampilan untuk tabel
list_object.display_name = "NumPyTable"

# Simpan buku kerja
workbook.save("numpy_to_listobject.xlsx")
Cara Mengonversi NumPy ndarray ke ListObject (Tabel Excel)

Cara Mengonversi NumPy ndarray ke ListObject (Tabel Excel)

Konversi ndarray NumPy ke Rentang

Terkadang Anda mungkin ingin menempatkan array NumPy ke dalam rentang sel tertentu. Metode ini ideal ketika Anda memerlukan penempatan data yang tepat di dalam lembar kerja, seperti mengisi area tabel yang telah ditentukan atau mengekspor hasil analisis ke dalam blok sel yang dipilih.

Ikuti langkah-langkah di bawah ini untuk mengonversi ndarray NumPy ke Range:

  1. Buat ndarray 2D NumPy.
  2. Buat buku kerja baru atau buka yang sudah ada.
  3. Pilih lembar kerja target.
  4. Loop melalui nilai ndarray dan masukkan ke dalam sel Excel yang sesuai.
  5. Buat objek Range dengan cells.createrange(startcell, endcell).
  6. Ekspor lembar kerja dengan rentang yang diisi ke file Excel.

Contoh kode berikut menunjukkan cara memasukkan ndarray NumPy ke dalam rentang Excel:

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

# Bantuan untuk dengan aman menempatkan nilai NumPy ke dalam sel
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,)):
        # Ubah numpy datetime64 → Python datetime → string kompatibel Excel
        value = str(np.datetime_as_string(raw_value, unit='D'))
    else:
        value = raw_value
    cell.put_value(value)

# Fungsi untuk memasukkan array NumPy ke dalam sel dan mengembalikan Rentang
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)

    # Tentukan rentang berdasarkan sel awal/akhir
    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)

# Buat array NumPy contoh
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')]
])

# Buat Buku Kerja baru dan dapatkan lembar kerja pertama
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells

# Sisipkan ndarray ke dalam worksheet sebagai Rentang
range_obj = numpy_to_range(cells, data, 0, 0)

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

# Simpan buku kerja
workbook.save("numpy_to_range.xlsx")
Bagaimana Cara Mengubah ndarray NumPy Menjadi Rentang

Bagaimana Cara Mengonversi ndarray NumPy ke Rentang

Cara Mengonversi NumPy ndarray ke Nama (Rentang Bernama)

Kadang-kadang Anda mungkin ingin memberikan nama yang berarti untuk rentang data tertentu di Excel. Ini memudahkan untuk merujuk data dalam rumus, grafik, atau lembar kerja lainnya. Dalam bagian ini, kami akan menunjukkan kepada Anda cara mengonversi NumPy ke Excel Named Range menggunakan Python dan Aspose.Cells. Dengan membuat rentang bernama, Anda dapat bekerja dengan data NumPy Anda dengan lebih efisien di dalam Excel.

Ikuti langkah-langkah di bawah ini untuk mengonversi ndarray NumPy ke Named Range di Excel menggunakan Aspose.Cells

  1. Buat array NumPy di Python.
  2. Buat buku kerja baru dan akses lembar kerja target.
  3. Loop melalui array dan masukkan setiap nilai ke dalam lembar kerja.
  4. Tentukan rentang yang mencakup data yang diimpor.
  5. Berikan nama untuk rentang itu.
  6. Simpan workbook sebagai file Excel.

Contoh kode berikut menunjukkan cara memasukkan ndarray NumPy ke dalam rentang bernama di Excel:

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

# Fungsi pembantu untuk memasukkan data NumPy ke dalam sel lembar kerja
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)

    # Kembalikan area sel yang tertutup
    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
# ---------------------------

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

# Buat Workbook baru
workbook = Workbook()
worksheet = workbook.worksheets.get(0)
cells = worksheet.cells

# Masukkan ndarray ke dalam sel mulai dari (0,0)
(start_row, start_col, end_row, end_col) = insert_ndarray_into_cells(cells, data, 0, 0)

# Dapatkan referensi sel Excel
start_cell = CellsHelper.cell_index_to_name(start_row, start_col)
end_cell = CellsHelper.cell_index_to_name(end_row, end_col)

# Buat rentang bernama untuk ndarray ini
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}"

# Simpan workbook tersebut
workbook.save("numpy_to_named_range.xlsx")
Cara Mengonversi NumPy ndarray ke Nama (Rentang Bernama)

Cara Mengonversi ndarray NumPy ke Nama (Rentang Bernama)

Mulai dengan Aspose.Cells for Python

Anda sekarang telah melihat betapa mudahnya mengonversi array NumPy menjadi Excel menggunakan Aspose.Cells. Perpustakaan ini memberi Anda kontrol penuh atas buku kerja, lembar kerja, tabel, rentang, dan rentang bernama.

Berikut adalah beberapa tautan berguna untuk meningkatkan pemahaman Anda:

Dapatkan lisensi sementara gratis dan mulai gunakan Aspose.Cells hari ini untuk membuat data Python Anda sepenuhnya kompatibel dengan alur kerja Excel.

NumPy to Excel: FAQs

Q1: Apakah saya perlu menginstal Microsoft Excel untuk menggunakan Aspose.Cells?

Tidak. Aspose.Cells berfungsi secara independen. Anda tidak memerlukan Excel atau perangkat lunak lain yang terinstal.

Q2: Dapatkah Aspose.Cells menangani array NumPy besar?

Ya. Perpustakaan ini dioptimalkan untuk dataset besar dan berkinerja baik bahkan dengan array besar.

Q3: Format Excel apa yang didukung?

Anda dapat menyimpan data NumPy Anda ke dalam format XLSX, XLS, CSV, ODS, dan banyak format spreadsheet lainnya.

Q4: Dapatkah saya memformat sel Excel setelah mengekspor data NumPy?

Ya. Anda dapat menerapkan gaya, format angka, rumus, dan bahkan membuat grafik atau tabel pivot.

Q5: Apakah ada versi gratis dari Aspose.Cells?

Ya. Anda dapat mengunduh free trial atau meminta temporary license untuk pengujian.

Kesimpulan

NumPy adalah alat inti untuk ilmu data dan analisis numerik di Python, tetapi pelaporan di dunia nyata sering kali memerlukan Excel. Dengan Aspose.Cells for Python via .NET, konversi NumPy ke Excel menjadi tanpa batas dan fleksibel. Dalam panduan ini, kami mengeksplorasi berbagai metode: mengekspor array NumPy ke workbook lengkap, memasukkan data ke dalam worksheet, memformat sebagai ListObject (tabel Excel), memetakan array ke dalam rentang, dan menetapkannya ke rentang bernama. Setiap pendekatan memiliki tujuan unik. Dengan menggabungkan kekuatan NumPy dengan fleksibilitas Aspose.Cells, Anda dapat secara efisien beralih dari analisis berbasis Python ke laporan Excel profesional, memastikan data Anda dapat diakses dan siap untuk presentasi.

Jika Anda memiliki pertanyaan, silakan tanyakan di free support forum kami, dan kami akan senang untuk membantu.

Lihat Juga