Pemprosesan Kelompok Laporan
Jana laporan secara automatik
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.
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
- Membaca Buku Kerja
- Menulis dan Menggayakan Sel
- Formula dan Carta
- Pemprosesan Kelompok Laporan