Python Academy · Pelajaran

Pemprosesan Kelompok Laporan

Jana laporan secara automatik

Pelajaran 4 daripada 413 langkah

Pemprosesan Kelompok Laporan ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Mengautomatikkan Laporan Berulang

Manfaat sebenar openpyxl ialah pengautomatan: menjana berpuluh-puluh laporan yang serupa tanpa kerja manual. Fikirkan tentang lembaran jualan bulanan bagi setiap rantau, atau fail ringkasan bagi setiap pelanggan.

Coraknya ialah: lakukan gelung pada kumpulan data, bina buku kerja bagi setiap kumpulan dan simpan dengan nama yang unik.

Mengumpulkan Data

Laporan kelompok bermula dengan pengumpulan rekod, contohnya mengikut rantau. Python standard mengendalikan perkara ini dengan kemas sebelum sebarang kerja Excel bermula.

records = [
    {'region': 'North', 'sales': 100},
    {'region': 'South', 'sales': 80},
    {'region': 'North', 'sales': 120},
]
groups = {}
for r in records:
    groups.setdefault(r['region'], []).append(r['sales'])
for region, sales in groups.items():
    print(region, sales, 'total', sum(sales))

Satu Fail bagi Setiap Kumpulan

Bagi setiap kumpulan, anda mencipta buku kerja, menulis baris dan menyimpannya menggunakan nama yang diperoleh daripada kunci kumpulan. Kandungan gelung itu ialah kod yang sama seperti yang anda tulis untuk satu laporan, cuma diulang.

Nama Fail Selamat

Kunci kumpulan mungkin mengandungi aksara yang tidak sah dalam nama fail. Bersihkannya dahulu supaya penyimpanan tidak pernah gagal. Ini ialah idea yang sama seperti menukarkan teks kepada slug yang digunakan di tempat lain.

import re
name = 'North/West Region 2024'
safe = re.sub(r'[^A-Za-z0-9]+', '_', name).strip('_')
print('report_' + safe + '.xlsx')

Fungsi Templat yang Boleh Digunakan Semula

Asingkan susun atur laporan ke dalam satu fungsi yang menerima data dan mengembalikan buku kerja. Memanggilnya dalam gelung memastikan setiap laporan konsisten dan kod mematuhi DRY (jangan ulangi perkara yang sama).

Fungsi itu akan menetapkan pengepala, menulis baris, menambah jumlah dan gaya, kemudian mengembalikan wb.

Menambah Baris Ringkasan

Kebanyakan laporan berakhir dengan jumlah. Kira agregat dalam Python atau dengan formula Excel, kemudian tuliskannya sebagai baris terakhir. Dalam contoh ini, nilai ringkasan dikira.

sales = [100, 120, 90, 110]
summary = {
    'count': len(sales),
    'total': sum(sales),
    'average': sum(sales) / len(sales),
    'max': max(sales),
}
for k, v in summary.items():
    print(k.ljust(8), v)

Berbilang Lembaran dalam Satu Fail

Kadangkala, satu fail dengan satu tab bagi setiap kumpulan lebih baik daripada banyak fail. Ulangi setiap kumpulan dan panggil wb.create_sheet(title=group_name), kemudian tulis setiap kumpulan pada tabnya sendiri. Simpan sekali pada penghujung.

Menyusun Direktori Hasil

Tulis laporan ke dalam direktori hasil yang mengandungi tarikh supaya setiap proses tidak menimpa proses yang lain. Gunakan os.makedirs(path, exist_ok=True) untuk menciptanya dengan selamat, kemudian gunakan join untuk mencantumkan nama fail padanya.

import os
base = 'reports'
run_date = '2026-05-30'
out_dir = os.path.join(base, run_date)
path = os.path.join(out_dir, 'north.xlsx')
print('Would create dir:', out_dir)
print('File path:', path)

Pengendalian Ralat dalam Proses Kelompok

Dalam proses kelompok yang panjang, satu kumpulan yang bermasalah tidak sepatutnya menghentikan kumpulan yang lain. Bungkus setiap laporan dalam pengendalian cuba/kecuali, rekod kegagalan itu, kemudian teruskan. Proses separa yang selesai adalah lebih baik daripada proses penuh yang terhenti di tengah jalan.

Menjadualkan Tugas

Setelah skrip berfungsi, jadualkan skrip itu (dengan cron, Task Scheduler atau tugas integrasi berterusan) untuk dijalankan setiap malam atau setiap bulan. Kod yang sama kemudiannya menghasilkan laporan baharu secara automatik tanpa campur tangan manusia.

Pengelogan Kemajuan

Proses kelompok yang panjang mendapat manfaat daripada paparan kemajuan. Paparkan atau rekod kumpulan yang sedang diproses dan jumlah kumpulan yang masih berbaki supaya anda dapat membezakan proses yang perlahan daripada proses yang tersekat. Pembilang mudah berbanding jumlah keseluruhan sudah memadai.

Pengelogan juga memberikan rekod tentang laporan yang berjaya jika anda perlu menjalankan semula hanya laporan yang gagal.

Semakan Pantas

Uji pengetahuan anda tentang automasi proses kelompok.

Rumusan

Anda kini boleh mengautomatikkan penjanaan laporan:

  • Kumpulkan data, kemudian ulangi setiap kumpulan untuk mencipta satu buku kerja (atau satu lembaran) bagi setiap kumpulan
  • Asingkan tataletak ke dalam fungsi templat yang boleh digunakan semula
  • Bersihkan nama fail dan tulis hasil ke dalam direktori yang mengandungi tarikh
  • Tambahkan baris ringkasan, bungkus setiap laporan dalam pengendalian cuba/kecuali dan jadualkan skrip

Ini menukarkan kerja hamparan manual selama berjam-jam kepada tugas yang boleh dijalankan dengan satu perintah.

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
76
Pelajaran
320

Soalan Lazim

Adakah pelajaran “Pemprosesan Kelompok Laporan” percuma?

Ya — teks penuh “Pemprosesan Kelompok Laporan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pemprosesan Kelompok Laporan”?

Jana laporan secara automatik Anda berlatih Python Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Python Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Pemprosesan Kelompok Laporan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Membaca Buku Kerja
  2. Menulis dan Menggayakan Sel
  3. Formula dan Carta
  4. Pemprosesan Kelompok Laporan
← Kembali ke Python Academy