Lewati ke konten utama

Python Tabulate: Panduan Lengkap

Gunakan pustaka tabulate di Python untuk membuat tabel berformat rapi. Pelajari fitur lanjutannya dan opsi untuk menyesuaikan tampilan tabel.
· 8 mnt Baca

Jelajahi bersama AI

Data tabular mengacu pada data terstruktur dalam baris dan kolom. Menyusun data dengan cara ini penting karena memudahkan interpretasi output. Di Python, kita dapat membuat data tabular yang enak dilihat dengan menggunakan pustaka tabulate. Pustaka tabulate mudah digunakan dan telah menjadi salah satu alat pilihan bagi data scientist, analis, dan developer yang perlu membuat tabel berformat rapi untuk presentasi.

Jika Anda baru memulai sebagai analis data atau data scientist, saya merekomendasikan kursus Introduction to Python dari DataCamp untuk mempelajari dasar-dasar bahasa Python, termasuk fungsi dan paket. 

Apa itu Python Tabulate?

Paket tabulate di Python membuat tabel berformat rapi dari berbagai sumber data. Kasus penggunaan utama paket tabulate mencakup hal-hal berikut:

  • Menampilkan Data di Antarmuka Baris Perintah (CLI): Paket tabulate membantu developer menampilkan tabel terformat secara mudah dibaca di terminal atau konsol.

  • Jupyter Notebook: Fungsi tabulate() membantu menampilkan tabel yang bagus di Jupyter Notebook.

  • Aplikasi Web: Paket tabulate membantu developer menampilkan tabel dalam format HTML di aplikasi web.

Beberapa fitur utama pustaka tabulate meliputi:

  • Beragam Format Output: Paket tabulate memungkinkan output tabel dalam berbagai format, termasuk teks biasa, HTML, LaTeX, dan lainnya; sehingga pengguna dapat memilih sesuai kebutuhan.

  • Perataan Kolom Otomatis: tabulate secara otomatis meratakan kolom untuk berbagai tipe data, termasuk string, angka, dan lainnya. 

  • Menangani Beragam Struktur Data: tabulate menangani dictionary, list, DataFrame pandas, dan array NumPy.

Cara Menginstal Tabulate di Python

Anda dapat menggunakan manajer paket pip untuk menginstal paket tabulate di Python. Pada terminal atau command prompt Anda, ketik dan jalankan perintah berikut:

pip install tabulate

Jika Anda ingin menginstal paket untuk satu pengguna tanpa memerlukan hak administratif, Anda dapat menggunakan flag –user seperti di bawah ini.

pip install --user tabulate

Anda dapat membuat virtual environment baru menggunakan perintah berikut saat menjalankan skrip di dalam virtual environment.

python -m venv myenv

Untuk mengaktifkan virtual environment, jalankan perintah berikut:

Untuk Windows:

myenv\Scripts\activate

Untuk macOS/Linux:

source myenv/bin/activate

Jika instalasi berhasil, Anda dapat menjalankan kode berikut di editor Python Anda untuk memeriksa nomor versi paket tabulate di lingkungan Python tersebut.

import tabulate
print(tabulate.__version__)

Jika Anda mendapati alat Anda perlu diperbarui, baca panduan kami: How to Upgrade Python and Pip in Windows, MacOS, and Linux.

Penggunaan Dasar Python Tabulate

Contoh di bawah menunjukkan penggunaan dasar paket tabulate untuk membuat tabel berformat.

Membuat tabel sederhana

Cara paling sederhana menggunakan fungsi tabulate() untuk membuat tabel adalah dengan memberikan list berisi list. Argumen kunci dalam sintaks fungsi tabulate() meliputi:

  • tabular_data: Data yang akan diformat seperti list of lists atau dictionary.

  • headers: Header yang akan disediakan pada tabel. Jika diabaikan, tabel tidak akan memiliki header.

  • tablefmt: Format output tabel seperti “plain”, “pipe”, “grid”, atau “html”.

Contoh di bawah menunjukkan cara menggunakan fungsi tabulate() untuk membuat tabel berformat grid.

# Import the tabulate module
from tabulate import tabulate

# Sample data: list of lists
data = [
    ["Alice", 24, "Engineer"],
    ["Bob", 30, "Data Scientist"],
    ["Charlie", 28, "Teacher"]
]

# Creating a table with headers and a grid format
table = tabulate(
    data, 
    headers=["Name", "Age", "Profession"], 
    tablefmt="grid"
)

print(table)

Tabel berformat grid menggunakan Python tabulate.

Tabel berformat grid menggunakan Python tabulate. Gambar oleh Penulis.

Lihat Python Fundamentals skill track kami untuk mempelajari lebih lanjut tentang list dan struktur data lain di Python.

Menampilkan data dari pandas DataFrame

pandas DataFrame adalah struktur data umum di Python yang menangani data tabular. Dengan menggunakan pustaka tabulate, Anda dapat memformat data tabular dalam berbagai format sesuai spesifikasi yang diperlukan. Contoh berikut menunjukkan cara menampilkan tabel menggunakan format ‘pipe’.

# Import libraries
import pandas as pd
from tabulate import tabulate

# Sample DataFrame
df = pd.DataFrame({
    "Name": ["Alice", "Bob", "Charlie"],
    "Age": [24, 30, 28],
    "Profession": ["Engineer", "Data Scientist", "Teacher"]
})

# Displaying the DataFrame as a formatted table
table = tabulate(
    df, 
    headers='keys', 
    tablefmt='pipe'
)

print(table)

Output tabel menggunakan gaya pemformatan pipe pada fungsi Python tabulate.

Output tabel menggunakan gaya pemformatan pipe pada fungsi Python tabulate(). Gambar oleh Penulis.

Dengan DataFrame yang sama, df, Anda dapat menampilkan output tabel dalam format grid.

print(tabulate(df, headers='keys', tablefmt='grid'))

Output tabel menggunakan gaya pemformatan grid pada fungsi Python tabulate.

Output tabel menggunakan gaya pemformatan grid pada fungsi Python tabulate(). Gambar oleh Penulis.

Fitur Lanjutan Python Tabulate

Pustaka tabulate menawarkan fitur lanjutan yang memungkinkan Anda menyesuaikan tampilan tabel yang kompleks. Mari kita bahas beberapa fiturnya.

Menyesuaikan tampilan tabel

Pustaka tabulate menawarkan berbagai cara untuk menyesuaikan tampilan tabel, seperti mengatur perataan, menetapkan lebar kolom, dan menggunakan format tabel yang berbeda. Berikut beberapa opsi pemformatan utama.

  • numalign: Mengontrol perataan kolom numerik. Nilai yang diterima adalah "left", "center", dan "right".

  • stralign: Mengontrol perataan kolom string. Nilai yang diterima adalah "left", "center", dan "right".

  • colalign: Memungkinkan perataan spesifik per kolom dengan memberikan daftar opsi perataan.

Contoh di bawah menunjukkan penerapan opsi pemformatan tersebut.

from tabulate import tabulate

# Sample data: list of lists
data = [
    ["Alice", 24, 1200.50],
    ["Bob", 30, 3500.75],
    ["Charlie", 28, 2500.00]
]

# Customizing table appearance
table = tabulate(
    data,
    headers=["Name", "Age", "Salary"],
    tablefmt="fancy_grid",
    numalign="right",
    stralign="center",
    colalign=("center", "center", "right")
)

print(table)

Output tabel yang disesuaikan menggunakan Python tabulate.

Output tabel yang disesuaikan menggunakan Python tabulate. Gambar oleh Penulis.

Menangani sel multi-baris

Pustaka tabulate juga memungkinkan Anda menangani data teks yang melebihi lebar kolom tipikal. Argumen maxcolwidths menentukan lebar maksimum setiap sel pada tabel output untuk mengatur pelipatan teks di dalam sel. Fungsionalitas ini memungkinkan Anda menampilkan informasi panjang dengan cara yang lebih mudah dibaca.

Pada contoh di bawah, maxcolwidths diatur ke 30 karakter untuk melipat data teks menjadi beberapa baris jika melebihi jumlah karakter yang ditentukan.

# Import tabulate library
from tabulate import tabulate

# Sample text data
data = [
    ["Alice", "Lorem ipsum dolor sit amet, consectetur adipiscing elit."],
    ["Bob", "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."],
    ["Charlie", "Ut enim ad minim veniam, quis nostrud exercitation ullamco."]
]

# Creating a table with multiline cells
table = tabulate(
    data,
    headers=["Name", "Description"],
    tablefmt="grid",
    maxcolwidths=[None, 30]  # Set maximum width for the Description column
)

print(table)

Output tabel yang menangani banyak baris menggunakan Python tabulate.

Output tabel yang menangani banyak baris menggunakan Python tabulate. Gambar oleh Penulis.

Menggunakan utilitas command line

Pustaka tabulate menyediakan utilitas command line untuk membantu Anda menampilkan tabel langsung dari command line atau terminal. Utilitas command line ini memungkinkan Anda membuat tabel tanpa menulis kode Python tambahan.

Misalkan Anda memiliki file CSV bernama data.csv. Anda akan menggunakan perintah berikut untuk menghasilkan tabel menggunakan tabulate.

cat data.csv | tabulate -d , -f grid

Di mana:

  • cat data.csv membaca konten file CSV.

  • -d , menentukan delimiter (koma untuk CSV).

  • -f grid menetapkan format output ke gaya grid.

Contoh Praktis dan Use Case

Pada bagian ini, kita akan mengeksplorasi berbagai use case pustaka tabulate untuk menampilkan tabel di Python.

Menampilkan data penjualan

Misalkan kita memiliki data penjualan berikut.

# Sample sales data
sales_data = [
    ["Q1", 15000, 12000, 13000],
    ["Q2", 17000, 16000, 14500],
    ["Q3", 18000, 15000, 16000],
    ["Q4", 20000, 21000, 19000]
]

headers = ["Quarter", "Product A", "Product B", "Product C"]

Anda dapat menampilkan data dalam tabel menggunakan format fancy_grid.

# Import tabulate library
from tabulate import tabulate

# Displaying sales data using the 'fancy_grid' format
table_fancy = tabulate(sales_data, headers=headers, tablefmt="fancy_grid")

print(table_fancy)

Output tabel menggunakan pemformatan fancy_grid di Python tabulate.

Output tabel menggunakan pemformatan fancy_grid di Python tabulate. Gambar oleh Penulis.

Anda juga dapat menampilkan data dalam format HTML dengan mengatur tablefmt ke html.

# Displaying sales data using the 'html' format
table_html = tabulate(sales_data, headers=headers, tablefmt="HTML")

print(table_html)

Output:

<table>
<thead>
<tr><th>Quarter  </th><th style="text-align: right;">  Product A</th><th style="text-align: right;">  Product B</th><th style="text-align: right;">  Product C</th></tr>
</thead>
<tbody>
<tr><td>Q1       </td><td style="text-align: right;">      15000</td><td style="text-align: right;">      12000</td><td style="text-align: right;">      13000</td></tr>
<tr><td>Q2       </td><td style="text-align: right;">      17000</td><td style="text-align: right;">      16000</td><td style="text-align: right;">      14500</td></tr>
<tr><td>Q3       </td><td style="text-align: right;">      18000</td><td style="text-align: right;">      15000</td><td style="text-align: right;">      16000</td></tr>
<tr><td>Q4       </td><td style="text-align: right;">      20000</td><td style="text-align: right;">      21000</td><td style="text-align: right;">      19000</td></tr>
</tbody>
</table>

Output tabel HTML berguna untuk integrasi web jika Anda ingin menyematkan output tabel ke situs web. Anda juga dapat menyesuaikan output tabel HTML lebih lanjut menggunakan CSS agar tampil lebih menarik bagi pengguna.

Integrasi dengan Jupyter Notebook

Pustaka tabulate dapat dengan mudah diintegrasikan dengan Jupyter Notebook untuk presentasi data yang lebih mudah. Contoh di bawah menunjukkan cara membuat DataFrame contoh di Jupyter Notebook dan menampilkannya dalam tabel berformat grid.

# Import required library
import pandas as pd
from tabulate import tabulate

# Sample student exam scores DataFrame
exam_scores_df = pd.DataFrame({
    "Student": ["Alice", "Bob", "Charlie", "David"],
    "Math": [85, 90, 78, 92],
    "Science": [88, 76, 95, 85],
    "English": [90, 88, 84, 91]
})

# Displaying the DataFrame as a formatted table using 'grid' format
table_jupyter = tabulate(exam_scores_df, headers='keys', tablefmt='grid')

print(table_jupyter)

Output tabel data yang ditampilkan menggunakan Python tabulate terintegrasi dengan Jupyter Notebook.

Output tabel menggunakan Python tabulate yang terintegrasi dengan Jupyter Notebook. Gambar oleh Penulis.

Keuntungan menggunakan pustaka tabulate di lingkungan Jupyter adalah meningkatkan keterbacaan dan perbandingan data, terutama untuk tugas analisis data.

Kesimpulan

Pustaka tabulate penting untuk membuat tabel berformat rapi di Python. Seperti yang telah Anda lihat, pustaka ini juga menawarkan fleksibilitas untuk digunakan di berbagai lingkungan, seperti Jupyter Notebook, command line, dan aplikasi web, termasuk opsi output seperti HTML. 

Jika Anda ingin meningkatkan keterampilan Python, saya sangat merekomendasikan Python Programming skill track dari DataCamp. Saya juga mendorong Anda untuk melihat career track Python Developer dan Data Analyst with Python kami untuk membantu Anda membangun keterampilan relevan pekerjaan agar menjadi analis data yang andal. Selain itu, jika Anda senang bekerja dengan tabel di Python, coba kursus Introduction to Databases in Python dari DataCamp untuk mempelajari lebih lanjut penggunaan SQL dengan Python. Terakhir, klik di bawah untuk menjadi machine learning scientist di Python, jika Anda siap untuk langkah menarik tersebut.

Allan Ouko

Penulis

Allan Ouko

Penulis teknis Data Science dengan pengalaman langsung dalam analitik data, business intelligence, dan data science. Saya menulis konten praktis berfokus industri tentang SQL, Python, Power BI, Databricks, dan rekayasa data, yang berakar pada pekerjaan analitik dunia nyata. Tulisan saya menjembatani kedalaman teknis dan dampak bisnis, membantu para profesional mengubah data menjadi keputusan yang meyakinkan.

Frequently Asked Questions

Apa itu pustaka tabulate di Python?

Pustaka tabulate membuat tabel berformat rapi dari berbagai struktur data di Python.

Bagaimana cara menginstal pustaka tabulate?

Untuk menginstal pustaka tabulate, gunakan perintah pip install tabulate.

Format output apa saja yang didukung dalam pustaka Python tabulate?

Pustaka tabulate mendukung output tabel dalam format teks biasa, HTML, grid, LaTeX, Markdown, dan format lainnya.

Struktur data apa saja yang didukung dalam pustaka tabulate?

Pustaka tabulate dapat digunakan untuk membuat output tabel dari struktur data berikut: List of lists, list of dictionaries, dictionary of iterables, array NumPy dua dimensi, dan pandas DataFrame.

Apakah pustaka tabulate dapat digunakan langsung di command line?

Tabulate menyediakan utilitas command line untuk menghasilkan tabel langsung dari terminal tanpa menulis seluruh kode Python.

Topik

Terkait

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026