Dans l’environnement de bureau moderne, le traitement des données et la génération de rapports constituent une partie très importante du travail quotidien. En tant que langage de programmation flexible et puissant, Python peut réaliser la bureautique grâce à une série de bibliothèques open source. Cet article expliquera en détail comment utiliser Python pour réaliser le processus automatisé du traitement des données Excel à la génération de rapports PDF. Les bibliothèques couvertes incluent openpyxl
, pandas
etc.reportlab
Nous utiliserons un exemple de projet pour montrer comment lire des données à partir d'Excel, traiter les données et générer des rapports de données, et enfin les générer sous forme de PDF. Ce processus bureautique automatisé peut considérablement améliorer l’efficacité et réduire le travail répétitif.
1. Préparation de l'environnement
Avant de commencer, assurez-vous que les bibliothèques Python appropriées sont installées. Nous utiliserons les bibliothèques suivantes :
- openpyxl : utilisé pour traiter les fichiers Excel.
- pandas : utilisé pour l'analyse et le traitement des données.
- reportlab : utilisé pour générer des fichiers PDF.
Vous pouvez installer ces bibliothèques avec la commande suivante :
pip install openpyxl pandas reportlab
2. Utiliser openpyxl
et traiter des fichiers Excel
openpyxl
Est une bibliothèque couramment utilisée en Python pour lire et écrire des fichiers Excel. Nous allons d’abord montrer comment lire les données d’un fichier Excel et effectuer un traitement simple.
2.1 Lecture de fichiers Excel
Supposons que nous ayons un fichier Excel data.xlsx
contenant les données de présence des employés. La structure du tableau est la suivante :
Nom | département | Nombre de jours de présence | Jours d'absence | Jours totaux |
---|---|---|---|---|
Zhang San | Département du personnel | 20 | 2 | 22 |
John Doe | Département des Finances | 18 | 4 | 22 |
Wang Wu | Département de technologie | 22 | 0 | 22 |
Zhao Liu | Département Marketing | 19 | 3 | 22 |
Tout d’abord, nous openpyxl
lisons les données dans Excel en utilisant :
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('data.xlsx')
# 选择工作表
sheet = workbook.active
# 读取表格数据
data = []
for row in sheet.iter_rows(min_row=2, values_only=True):
data.append(row)
# 打印读取的数据
for row in data:
print(row)
Le code ci-dessus lira les données de chaque ligne d'Excel et les stockera dans data
une liste. iter_rows
La méthode peut lire les données ligne par ligne. Ici, nous la définissons min_row=2
pour ignorer l'en-tête.
2.2 Traitement des données Excel
Nous pouvons traiter les données lues, comme par exemple calculer le nombre total de jours de présence pour chaque département. Disons que nous souhaitons générer des statistiques basées sur les jours de fréquentation.
from collections import defaultdict
# 统计每个部门的总出勤天数
attendance_summary = defaultdict(int)
for row in data:
department = row[1]
attendance_days = row[2]
attendance_summary[department] += attendance_days
# 打印统计结果
for department, total_days in attendance_summary.items():
print(f"{
department}总出勤天数: {
total_days}")
Cet extrait de code affichera le nombre total de jours de présence pour chaque département.
3. Utilisation pandas
pour le traitement des données
Bien que openpyxl
les fichiers Excel puissent être lus et écrits, pour l'analyse et le traitement de données complexes, pandas
la bibliothèque est plus puissante. Nous pouvons combiner openpyxl
et pandas
effectuer le traitement des données et sauvegarder les données traitées dans un fichier Excel.
3.1 Utilisation pour pandas
lire des fichiers Excel
Nous pouvons utiliser pandas
pour simplifier l’opération de lecture des données Excel :
import pandas as pd
# 使用pandas读取Excel文件
df = pd.read_excel('data.xlsx')
# 显示数据
print(df)
pandas
La méthode read_excel
peut lire des fichiers Excel très facilement et y stocker des données. DataFrame
Il DataFrame
s'agit d'une structure de données très flexible adaptée à divers traitements et analyses de données.
3.2 Analyse et traitement des données
En utilisant pandas
, nous pouvons facilement effectuer une analyse statistique des données. Par exemple, calculez le taux de fréquentation moyen pour chaque département :
# 添加出勤率列
df['出勤率'] = df['出勤天数'] / df['总天数