написанна первая функция load_data(filepath: str) -> list[dict]:
This commit is contained in:
parent
edf6bac3e4
commit
4a45166c01
39
main.py
39
main.py
@ -1,7 +1,44 @@
|
||||
# 1. Читает текстовый файл с данными (каждая строка: имя,отдел,зарплата,стаж).
|
||||
# Возвращает список словарей: [{"name": str, "dept": str, "salary": float, "exp": float}, ...].
|
||||
from sys import exec_prefix
|
||||
|
||||
def load_data(filepath: str) -> list[dict]:
|
||||
pass
|
||||
employees = []
|
||||
filepath = "data/employees.txt"
|
||||
try:
|
||||
with open(filepath, "r", encoding="utf-8") as file:
|
||||
for line_number, line in enumerate(file, 1):
|
||||
# Чищу строку от пробелов по краям и скипаю пустые строки, а то хз кто там этот емплоес.тииксти писал
|
||||
line = line.strip()
|
||||
if not line:
|
||||
continue
|
||||
|
||||
try:
|
||||
# делим строку по запятой
|
||||
parts = [p.strip() for p in line.split(",")] # зачем нейронки если всю эту строку мне пайчарм вставил после знака равно???
|
||||
|
||||
if len(parts) != 4: # ну вдруг там не 4 колонки
|
||||
print(f"Ошибка в строке {line_number}: надо 4 значения, а получил {len(parts)}.")
|
||||
continue
|
||||
|
||||
employee = {
|
||||
"name": parts[0],
|
||||
"dept": parts[1],
|
||||
"salary": float(parts[2]),
|
||||
"exp": float(parts[3])
|
||||
}
|
||||
employees.append(employee)
|
||||
|
||||
except ValueError as e:
|
||||
print(f"Ошибка преобразования типов в строке {line_number}: {e}")
|
||||
|
||||
except FileNotFoundError:
|
||||
print(f"Ошибка: Файл по адресу '{filepath}' не найден.")
|
||||
except Exception as e:
|
||||
print(f"Произошла непредвиденная ошибка: {e}")
|
||||
|
||||
return employees
|
||||
|
||||
|
||||
# 2. Возвращает новый список, содержащий только сотрудников указанного отдела.
|
||||
def filter_by_department(employees: list[dict], department: str) -> list[dict]:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user