Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
media.py 1.32 KiB
import csv
from collections import defaultdict

def calculate_average_elapsed(csv_file):
    # Diccionario para almacenar la suma y el recuento de "elapsed" para cada "threadName"
    sums_and_counts = defaultdict(lambda: [0, 0])

    # Leer el archivo CSV
    with open(csv_file, 'r') as file:
        reader = csv.DictReader(file)

        # Omitir la primera fila (encabezados)
        next(reader)

        # Iterar sobre las filas restantes
        for row in reader:
            threadName = row['threadName']
            elapsed = int(row['elapsed'])

            # Actualizar la suma y el recuento para el "threadName" actual
            sums_and_counts[threadName][0] += elapsed
            sums_and_counts[threadName][1] += 1

    # Calcular la media de "elapsed" para cada "threadName"
    averages = {threadName: sums_and_counts[threadName][0] / sums_and_counts[threadName][1] for threadName in sums_and_counts}

    # Escribir los resultados en un nuevo archivo CSV
    with open('medPeque.csv', 'w', newline='') as file:
        writer = csv.writer(file)
        writer.writerow(['threadName', 'average_elapsed'])
        averages = sorted(averages.items(), key=lambda x: x[0])
        for threadName, average_elapsed in averages:
            writer.writerow([threadName, average_elapsed])

calculate_average_elapsed('medidasPeque.csv')