Напишите функцию, которая принимает путь к CSV-файлу и имя столбца. Функция должна прочитать файл, извлечь значения из указанного столбца и вычислить среднее значение этих чисел. Функция должна возвращать среднее значение.
Пример использования:
file_path = "data.csv"
column_name = "age"
average = calculate_average(file_path, column_name)
print(average)
# Ожидаемый результат (пример):
# 28.5
Решение задачи🔽
import csv
def calculate_average(file_path, column_name):
total = 0
count = 0
with open(file_path, mode="r", encoding="utf-8") as file:
reader = csv.DictReader(file)
for row in reader:
try:
value = float(row[column_name])
total += value
count += 1
except (ValueError, KeyError):
continue
if count == 0:
raise ValueError(f"No valid data found in column '{column_name}'.")
return total / count