Maison  >  Article  >  développement back-end  >  Générez automatiquement des rapports quotidiens de données avec Python !

Générez automatiquement des rapports quotidiens de données avec Python !

王林
王林avant
2023-05-25 17:01:081616parcourir

Générez automatiquement des rapports quotidiens de données avec Python !

En fait, je pense que c'est assez simple. L'essentiel est que vous assemblez le modèle de contenu du rapport quotidien, puis donnez les modifications à python pour qu'il le remplisse. Ce que vous devez utiliser est essentiellement python pour traiter Excel. , word, ppt et autres bibliothèques associées. Utilisez-les habilement et vous pourrez automatiser tout un processus.

Les quotidiens sont un problème que la plupart des travailleurs migrants ne peuvent éviter.

Pour les managers, les rapports quotidiens sont le meilleur moyen de manager en amont et de comprendre l'ambiance et le statut de l'équipe. Mais pour les salariés, il n’y a pas de quoi parler. Pour le travail répétitif, je recommande fortement à tout le monde d'utiliser Python pour le modulariser et l'automatiser, nous aidant ainsi à réaliser un travail de bureau efficace.

Ci-dessous, nous utilisons un cas de rapport quotidien de ventes supplémentaire pour démontrer les avantages du bureau automatisé Python. Cet article simplifie le processus du dossier et le code complet est joint à la fin de l'article.

Générez automatiquement des rapports quotidiens de données avec Python !

Explication détaillée des besoins

Les besoins des amis sont les suivants. Leurs données de ventes habituelles sont enregistrées dans Excel, et seront compilées par département après synthèse. Mais au début de cette année, le leader nous a soudainement demandé d'écrire un rapport quotidien, après avoir écrit pendant un mois, nous avons constaté que nous ne l'avions pas vérifié et avons arrêté d'écrire.

Générez automatiquement des rapports quotidiens de données avec Python !

Maintenant, je suis soudainement obligé de soumettre tous les rapports quotidiens avant ce mois-ci demain, ce qui équivaut à rattraper près de 120 jours de rapports quotidiens de février à mai. Si je copie et colle avec mes mains, je vais probablement vomir. sang. Un ami a envoyé tous les documents pertinents pour rédiger son rapport quotidien et a constaté que l'effet final du rapport quotidien est le suivant.

Générez automatiquement des rapports quotidiens de données avec Python !

Les exigences sont donc relativement simples. Il vous suffit de lire les données quotidiennes du tableau Excel, d'utiliser Python pour les traiter, puis de les écrire dans le document Word dans l'ordre pour réaliser la génération par lots de rapports quotidiens.

Traitement des données

Avant d'effectuer le traitement des données, vous devez d'abord comprendre quelles données sont finalement nécessaires. Comme le montre la figure ci-dessous, le rapport quotidien cible dans Word est principalement divisé en deux catégories : les valeurs marquées en rouge sont principalement composées des données du jour, ou des données obtenues après leur calcul ; est plus simple, c'est-à-dire les données des sept derniers jours (quantité des ventes, montant des ventes, objectif de vente, degré d'achèvement).

Générez automatiquement des rapports quotidiens de données avec Python !

Nous importons d'abord le module Pandas pour le traitement des données.

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

Résultat de sortie :

Générez automatiquement des rapports quotidiens de données avec Python !

Après avoir importé les données, nous pouvons ensuite effectuer des opérations sur les données en fonction de nos besoins. Les opérations sur les données sont principalement divisées en deux types, l'une consiste à utiliser l'addition +, la soustraction -, la multiplication * et la division / pour effectuer des opérations sur les données, et l'autre consiste à utiliser des méthodes statistiques pour effectuer des opérations sur les données.

Entrez la commande suivante dans l'environnement interactif :

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

Résultat de sortie :

Générez automatiquement des rapports quotidiens de données avec Python !

Vous pouvez voir que le contenu des données marqué en rouge dans la capture d'écran du résultat final a tous été calculé. Le tableau marqué en vert est encore plus simple, utilisez simplement la sélection de données dans le module Pandas.

Entrez la commande suivante dans l'environnement interactif :

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

Résultat de sortie :

Générez automatiquement des rapports quotidiens de données avec Python !

Par cette méthode, vous pouvez facilement obtenir la collecte de données quotidienne des 7 derniers jours à une certaine date.

Générer automatiquement des rapports quotidiens

L'utilisation de Python pour automatiser les opérations Word utilise généralement le module python-docx. Il existe généralement deux méthodes pour générer des documents Word par lots : utiliser add_paragraph(), add_table() et d'autres méthodes pour ajouter divers contenus à Word. documents. L'autre est ce que nous allons utiliser cette fois-ci, c'est-à-dire remplacer les données du texte et des tableaux dans le document Word original en fonction de leur position.

Entrez la commande suivante dans l'environnement interactif :

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")

Exécutez le code et affichez le résultat :

Générez automatiquement des rapports quotidiens de données avec Python !

Comme le montre l'image ci-dessus, 120 rapports quotidiens de ventes enregistrés ont été rédigés. Le bureau automatisé Python est tellement magique.

Comment obtenir le code complet :

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

Code d'extraction : p9iw

En raison de sa syntaxe simple et de sa facilité d'utilisation, Python est appelé le « langage de programmation le plus approprié pour les débutants ». Pour diverses tâches informatiques répétitives au travail, vous pouvez envisager d’utiliser Python pour les transformer en programmes automatisés.

Si vous êtes débutant en Python, vous constaterez que la logique de cet article est très simple, et vous pouvez même l'améliorer. Par exemple, le module python-docx présente des avantages pour lire des documents Word, mais lors de l'écriture de texte dans des modèles, vous pouvez envisager d'utiliser le module docxtpl (apprenez un peu la syntaxe Jinja2).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer