Этот инструмент предназначен для анализа данных, загруженных из CSV-файлов, их отображения, сортировки, построения графиков и создания отчетов. Приложение написано на Python с использованием библиотеки PyQt6 для графического интерфейса, pandas для обработки данных и matplotlib для отрисовки графиков, reportlab для генерации отчётов.
- Загрузка данных: Загрузка данных из CSV-файлов с разделителем
;. - Отображение данных: Отображение загруженных данных в виде таблицы с возможностью редактирования.
- Сортировка данных: Сортировка данных по выбранному столбцу в порядке возрастания или убывания.
- Построение графиков:
- Гистограмма
- Диаграмма рассеяния
- Линейный график
- Столбчатая диаграмма
- Круговая диаграмма
- Генерация отчетов: Создание отчетов в формате
PDFс данными из таблицы. - Сохранение: Сохранение данных в базу данных
SQLite. - Открытие последнего файла: Автоматическое открытие последнего использованного
CSV-файлапри запуске приложения.
client_data_analysing_tool/
├──📁core/
│ ├── main.py # Точка входа в приложение
│ ├── main_window.py # Основное окно приложения
│ └── table_window.py # Отдельное окно таблицы данных
├──📁data_processing/
│ ├── data_handler.py # Загрузка, сохранение, сортировка данных
│ └── report_handler.py # Обработчик отчётов
├──📁frontend/
│ ├── gui_main_window.py # UI-макет приложения
│ └── align_delegate.py # Делегат выравнивания текста в таблице
├──📁model/
│ └── pandas_model.py # Модель отображения DataFrame в QTableView
├──📁plotting/
│ └── plot_handler.py # Обработка и отрисовка графиков
├──📁static/
│ ├──📁fonts/
│ │ └── Secession_Text.ttf
│ ├──📁resources/
│ │ ├──📁resource_pathes/
│ │ │ └── resource_pathes.py # Пути к иконкам
│ │ ├── arrow_down_24dp.svg
│ │ ├── choice_24dp.svg
│ │ ├── delete_24dp.svg
│ │ ├── file_path_24dp.svg
│ │ ├── fullscreen_24dp.svg
│ │ ├── graph_24dp.svg
│ │ ├── main_icon.ico
│ │ ├── report_24dp.svg
│ │ ├── save_24dp.svg
│ │ └── sort_24dp.svg
│ └──📁styles/
│ └── styles.py # CSS-стили UI-элементов
└──- PyQt6
- pandas
- matplotlib
- reportlab
1. Клонируйте репозиторий:
git clone <ваш_репозиторий>
cd client_data_analysing_tool2. Создайте виртуальное окружение:
python -m venv .venv
source venv/bin/activate # Для Linux/macOS
venv\Scripts\activate # Для Windows3. Установите зависимости:
pip install -r requirements.txt4. Запустите приложение:
python core/main.pyЗагрузка данных:
- Нажмите кнопку "Выбрать файл" и выберите
CSV-файлдля загрузки. - Путь к выбранному файлу отобразится в верхней части окна.
- Данные из файла отобразятся в таблице.
- Примечание: Файл должен быть в кодировке
utf-8.
Сохранение данных:
- Нажмите кнопку
Сохранить данныедля сохранения изменений в базу данных.
Сортировка данных:
- Выберите столбец для сортировки из выпадающего списка.
- Выберите порядок сортировки (возрастание или убывание) из выпадающего списка.
- Нажмите кнопку
Отсортироватьдля сортировки данных.
Построение графиков:
- Выберите тип графика из выпадающего списка
Тип графика:. - В зависимости от типа графика:
- Для гистограммы, столбчатой и круговой диаграмм: выберите столбец для построения графика из выпадающего списка
Столбец:. - Для диаграммы рассеяния и линейного графика: выберите ось
XиYиз выпадающих списков.
- Для гистограммы, столбчатой и круговой диаграмм: выберите столбец для построения графика из выпадающего списка
- Нажмите кнопку
Построить графикдля отображения графика в отдельном окне.
Создание отчета:
- Нажмите кнопку
Создать отчётдля создания отчета в форматеPDF. - Выберите место для сохранения отчета.
Раскрытие таблицы:
- Нажмите кнопку
Раскрыть таблицудля отображения данных в отдельном окне.
Полный сгенированный отчет можно посмотреть по этой ссылке.
- Разработка установщика для удобной установки приложения.
- Разработка тёмной темы.
- Расширить обрабатываемые форматы.
- Умение работы в команде.
- Работа с Python-фреймворком (PyQt6).
- Ведение проектной и технической документации.
- Управление контролем версий проекта (Git, GitHub).
- Разработка десктоп фронтенд макета приложения (Qt Designer).
- Управление базой данных (SQLite).
- Разработка баз данных (Excel).
- Построение графиков по CSV-данным (pandas, matplotlib).
- Генерация отчётов по CSV-данным (reportlab).
- Бедин Владислав:
- Team Lead
- Backend
- Frontend
- Киян Георгий:
- Backend
- Frontend
- Вельдяева Александра:
- Analyst
- Software Tester
- Documentation
- Database
- Букарев Кирилл:
- Analyst
- Software Tester
- Documentation
- Database
- Гаврилова Дженнет:
- Frontend
- UI-Designer
- Project Designer
Этот проект распространяется под лицензией MIT - смотри файл LICENSE для деталей.






