Maison > Article > développement back-end > 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.
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.
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.
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.
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).
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 :
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 :
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 :
Par cette méthode, vous pouvez facilement obtenir la collecte de données quotidienne des 7 derniers jours à une certaine date.
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 :
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.
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!