Oficina automatizada en Python: todo el proceso desde Excel hasta la generación de PDF

Desbloquea las infinitas posibilidades de la programación en Python: "Wonderful Python" te lleva a recorrer el mundo del código

En el entorno de oficina moderno, el procesamiento de datos y la generación de informes son una parte muy importante del trabajo diario. Como lenguaje de programación potente y flexible, Python puede realizar la automatización de oficinas a través de una serie de bibliotecas de código abierto. Este artículo explicará en detalle cómo usar Python para realizar el proceso automatizado desde el procesamiento de datos de Excel hasta la generación de informes en PDF. Las bibliotecas cubiertas incluyen openpyxl, pandasetc.reportlab

Usaremos un proyecto de muestra para mostrar cómo leer datos de Excel, procesar los datos y generar informes de datos y, finalmente, generarlos en formato PDF. Este proceso de oficina automatizado puede mejorar enormemente la eficiencia y reducir el trabajo repetitivo.

1. Preparación ambiental

Antes de comenzar, asegúrese de tener instaladas las bibliotecas de Python relevantes. Usaremos las siguientes bibliotecas:

  • openpyxl : utilizado para procesar archivos de Excel.
  • pandas : utilizado para el análisis y procesamiento de datos.
  • reportlab : utilizado para generar archivos PDF.

Puede instalar estas bibliotecas con el siguiente comando:

pip install openpyxl pandas reportlab

2. Usar openpyxly procesar archivos de Excel

openpyxlEs una biblioteca de uso común en Python para leer y escribir archivos de Excel. Primero mostraremos cómo leer datos de un archivo de Excel y realizar un procesamiento simple.

2.1 Leer archivos de Excel

Supongamos que tenemos un archivo Excel data.xlsxque contiene datos de asistencia de los empleados. La estructura de la tabla es la siguiente:

Nombre departamento Número de días de asistencia dias de ausencia Días totales
Zhang San Departamento de personal 20 2 22
Juan Pérez Departamento de Finanzas 18 4 22
Wang Wu Departamento de Tecnología 22 0 22
Zhao Liu Departamento de Marketing 19 3 22

Primero, openpyxlleemos los datos en Excel usando:

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)

El código anterior leerá los datos de cada fila de Excel y los almacenará en datauna lista. iter_rowsEl método puede leer datos línea por línea. Aquí lo configuramos min_row=2para omitir el encabezado.

2.2 Procesamiento de datos de Excel

Podemos procesar los datos leídos, como calcular el total de días de asistencia para cada departamento. Digamos que queremos generar algunas estadísticas basadas en los días de asistencia.

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

Este fragmento de código generará el total de días de asistencia para cada departamento.


3. Uso pandaspara el procesamiento de datos

Si bien openpyxllos archivos de Excel se pueden leer y escribir, para el análisis y procesamiento de datos complejos, pandasla biblioteca es más poderosa. Podemos combinar openpyxly pandasrealizar procesamiento de datos y guardar los datos procesados ​​en un archivo de Excel.

3.1 Usar para pandasleer archivos de Excel

Podemos utilizar pandaspara simplificar la operación de lectura de datos de Excel:

import pandas as pd

# 使用pandas读取Excel文件
df = pd.read_excel('data.xlsx')

# 显示数据
print(df)

pandasEl método read_excelpuede leer archivos de Excel de manera muy conveniente y almacenar datos en ellos. DataFrameEs DataFrameuna estructura de datos muy flexible adecuada para diversos procesamientos y análisis de datos.

3.2 Análisis y procesamiento de datos

Usando pandas, podemos realizar fácilmente análisis estadísticos de datos. Por ejemplo, calcule la tasa de asistencia promedio para cada departamento:

# 添加出勤率列
df['出勤率'] = df['出勤天数'] / df['总天数

Supongo que te gusta

Origin blog.csdn.net/nokiaguy/article/details/142705902
Recomendado
Clasificación