Есть CSV-файл c зарплатами сотрудников. Каждая строка имеет следующий формат:
«<Фамилия сотрудника> <зарплата>» (прим.: MCILWRAITH 550). Необходимо написать
python-скрипт, который принимает на вход аргумент — название CSV-файла вышеуказанного
формата и выдаёт на выходе следующие данные, рассчитанные на данных из файла:
- Кол-во сотрудников;
- Общая сумма зарплат;
- Средняя зарплата;
- Медиана от зарплат;
- Минимальная зарплата;
- Максимальная зарплата;
- Кол-во сотрудников, получающих сумму строго большую, чем средняя зарплата.
Как должен работать скрипт
Необходимо через командную строку подать ему аргументном название файла. Например:
python script.py <название файла>Усложнение:
- Сделать возможность принимать данные указанного формата из стандартного ввода. Данные из стандартного ввода подаются в файл вот таким образом:
echo 'Iavnov 1000' | python script.py # 1ый способ
python script.py < cat <файл с данными> # 2ой способ- Посчитать количество сотрудников, чьи фамилии начинаются на букву «K».
Важно:
Задание необходимо выполнить без использования Pandas.
Файл находится здесь.
Есть БД, состоящая из двух таблицы — employees (таблица с сотрудниками) и
actions (таблица с действиями сотрудников). Таблицы имеют следующий формат:
- employees:
id,login, где id — суррогатный ID сотрудника, login — логин сотрудника; - actions:
employee_id,dt,action, где employee_id — это ID сотрудника из таблицы employees, dt — дата и время действия, action — тип действия.
- Составить запрос, который выводит:
- кол-во действий за определённый месяц (скажем февраль 2020);
- кол-во сотрудников, которые выполняли хоть какие-нибудь действия за указанный период;
-
Составить запрос, который выводит логины сотрудников, которые не выполняли никаких действий в феврале 2020.
-
Составить запрос, который выводит 5 сотрудников с наибольшим количеством действий за февраль 2020, а также кол-во их действий, отсортированных в порядке убывания.
Создать простейшее key-value хранилище по следующей логике:
- данные всегда дозаписываются в файл, ничего не перезаписывается — данные
всегда записываются в конец файла. Записываются в формате:
<ключ>, <значение>; - удаление данных происходит с помощью простановки в поле значение специальной метки — #tombstone#.
Реализовать в виде bash-функций в одном файле:
- set_value — записать;
- get_value — выбрать;
- del_value — удалить.