Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menjana laporan harian data secara automatik dengan Python!

Menjana laporan harian data secara automatik dengan Python!

王林
王林ke hadapan
2023-05-25 17:01:081560semak imbas

Menjana laporan harian data secara automatik dengan Python!

Malah, saya fikir ia agak mudah Intinya ialah anda memasang templat kandungan laporan harian, dan kemudian memberikan jumlah yang diubah kepada python untuk diisi. Apa yang anda. keperluan pada dasarnya adalah python untuk memproses Excel dan Word Libraries yang berkaitan dengan ppt dan sebagainya. Gunakannya dengan mahir dan anda boleh mengautomasikan keseluruhan proses.

Akhbar harian adalah masalah yang tidak dapat dielakkan oleh kebanyakan pekerja asing.

Bagi pengurus, laporan harian adalah cara terbaik untuk mengurus terlebih dahulu dan memahami suasana dan status pasukan. Tetapi untuk pekerja, tiada apa yang perlu dibincangkan. Untuk kerja berulang, saya sangat mengesyorkan semua orang menggunakan Python untuk memodulasi dan mengautomasikannya, membantu kami mencapai kerja pejabat yang cekap.

Mari kita tunjukkan kelebihan pejabat automatik Python melalui kes menambah laporan harian jualan. Artikel ini memudahkan proses kes dan kod lengkap dilampirkan pada penghujung artikel.

Menjana laporan harian data secara automatik dengan Python!

Penjelasan terperinci tentang permintaan

Permintaan rakan saya adalah seperti ini data jualan biasa mereka direkodkan dalam Excel, dan selepas ringkasan, statistik akan dibuat oleh jabatan. Tetapi pada awal tahun ini, ketua tiba-tiba meminta kami menulis laporan harian Selepas menulis selama sebulan, kami mendapati bahawa kami tidak menyemaknya dan berhenti menulis.

Menjana laporan harian data secara automatik dengan Python!

Sekarang saya tiba-tiba dikehendaki menyerahkan semua laporan harian sebelum bulan ini esok. Ini bersamaan dengan membuat hampir 120 hari laporan harian dari Februari hingga Mei dan tampal dengan kedua belah tangan, kemudian Mungkin muntah darah. Seorang rakan menghantar semua dokumen yang berkaitan untuk menulis laporan hariannya dan mendapati bahawa kesan akhir laporan harian adalah seperti berikut.

Menjana laporan harian data secara automatik dengan Python!

Jadi keperluannya agak mudah, anda hanya perlu membaca data harian daripada jadual Excel, menggunakan Python untuk memprosesnya dan kemudian menulisnya ke dalam dokumen Word. , anda boleh menjana laporan harian dalam kelompok.

Pemprosesan Data

Sebelum melakukan pemprosesan data, anda mesti terlebih dahulu memahami data apa yang akhirnya diperlukan. Seperti yang ditunjukkan dalam rajah di bawah, terdapat dua kategori utama dalam Word harian sasaran: nilai yang ditandakan dengan warna merah terutamanya terdiri daripada data hari itu, atau data yang diperoleh selepas pengiraannya adalah lebih mudah; , iaitu, data tujuh hari yang lalu (kuantiti jualan, jumlah jualan, sasaran jualan, tahap penyiapan).

Menjana laporan harian data secara automatik dengan Python!

Mula-mula kami mengimport modul Pandas untuk pemprosesan data.

import pandas as pd
df = pd.read_excel("日报数据.xlsx")
df

Hasil keluaran:

Menjana laporan harian data secara automatik dengan Python!

Selepas mengimport data, kami kemudiannya boleh melakukan operasi data mengikut keperluan kami. Terdapat dua jenis operasi data yang utama, satu ialah menggunakan penambahan +, penolakan -, pendaraban *, dan bahagi / untuk melaksanakan operasi data, dan satu lagi ialah menggunakan kaedah statistik untuk melaksanakan operasi data.

Masukkan arahan berikut dalam persekitaran interaktif:

df["日期"] = df["日期"].apply(lambda x:x.strftime("%Y-%m-%d"))
df["当日完成度"] = (df["销售金额"]/df["销售目标"]*100).round(1)
df["累计销售金额"] = df["销售金额"].cumsum()
df["当年完成度"] = (df["累计销售金额"]/2200000*100).round(1)
df["累计销售金额"] = (df["累计销售金额"]/10000).round(2)
df

Hasil keluaran:

Menjana laporan harian data secara automatik dengan Python!

Seperti yang anda lihat, hasil akhir ditandakan berwarna merah dalam tangkapan skrin Kandungan data semuanya telah dikira. Jadual yang ditanda dengan warna hijau adalah lebih mudah, hanya gunakan pemilihan data dalam modul Pandas.

Masukkan arahan berikut dalam persekitaran interaktif:

num = 10
df.iloc[num-7:num, :5]

Hasil keluaran:

Menjana laporan harian data secara automatik dengan Python!

Dengan cara ini, anda boleh mendapatkan sesuatu dengan mudah Koleksi data harian dalam tempoh 7 hari yang lalu dari tarikh tersebut.

Menjana laporan harian secara automatik

Menggunakan Python untuk mengautomasikan operasi Word biasanya menggunakan modul python-docx, dan biasanya terdapat dua cara untuk menjana dokumen Word dalam kelompok: menggunakan add_ paragraph(), add_table (), dsb. Tambah pelbagai kandungan pada dokumen Word. Satu lagi ialah apa yang akan kita gunakan kali ini, iaitu menggantikan data teks dan jadual dalam dokumen Word asal mengikut kedudukan.

Masukkan arahan berikut dalam persekitaran interaktif:

for index, rows in df.iterrows():
 if index > 30:
 doc.paragraphs[0].runs[1].text = rows[0]
 doc.paragraphs[4].runs[4].text = rows[0]
 doc.paragraphs[4].runs[6].text = str(rows[1])
 doc.paragraphs[4].runs[8].text = str(rows[2])
 doc.paragraphs[5].runs[1].text = str(rows[3])
 doc.paragraphs[5].runs[3].text = str(rows[4])
 doc.paragraphs[9].runs[2].text = str(rows[5])
 doc.paragraphs[9].runs[7].text = str(rows[6])
 table = doc.tables[0]
 data_table = df.iloc[index-6:index+1,:5]
 for i in range(7):
 for j in range(5):
 table.cell(i+1,j).text = str(df.iloc[i,j])

 doc.save(f"销售日报-{rows[0]}.docx")

Jalankan kod dan keluarkan hasilnya:

Menjana laporan harian data secara automatik dengan Python!

Seperti yang ditunjukkan dalam gambar di atas, 120 salinan Laporan harian jualan yang direkodkan telah sedia.

Cara mendapatkan kod lengkap:

Pautan: ​​https://www.php.cn/link/0d5a4a5a748611231b945d28436b8ece​​​

Kod pengekstrakan: p9iw

Oleh kerana sintaksnya yang ringkas dan mudah digunakan, Python dipanggil "bahasa pengaturcaraan yang paling sesuai untuk dipelajari oleh pemula". Untuk pelbagai tugasan komputer yang berulang di tempat kerja, anda boleh mempertimbangkan untuk menggunakan Python untuk mengubahnya menjadi program automatik.

Jika anda seorang pemula Python, anda akan mendapati bahawa logik artikel ini sangat mudah, malah anda boleh memperbaikinya. Sebagai contoh, modul python-docx mempunyai kelebihan dalam membaca dokumen Word, tetapi apabila menulis teks ke templat, anda boleh mempertimbangkan untuk menggunakan modul docxtpl (belajar sedikit sintaks Jinja2).

Atas ialah kandungan terperinci Menjana laporan harian data secara automatik dengan Python!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam