https://github.com/anicatpro/ical_imp
Исключительно для заочного отделения кафедры «Программное обеспечение» ИжГТУ
https://github.com/anicatpro/ical_imp
Last synced: about 1 month ago
JSON representation
Исключительно для заочного отделения кафедры «Программное обеспечение» ИжГТУ
- Host: GitHub
- URL: https://github.com/anicatpro/ical_imp
- Owner: AniCatPro
- Created: 2025-02-01T20:02:30.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-11T05:27:46.000Z (over 1 year ago)
- Last Synced: 2025-02-11T06:25:38.816Z (over 1 year ago)
- Language: Python
- Homepage: https://cs.istu.ru/index.php?project=kaf&page=_process_schedule_extramural_
- Size: 56.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Экспорт расписания Excel в Календарь (iCal)

## Функциональность
- **Загрузка расписаний из Excel**: Программа считывает первый лист Excel-файла, содержащего учебное расписание.
- **Обработка данных**:
- Очистка и форматирование данных.
- Автоматическое сопоставление преподавателей с предметами.
- Возможность указания недель для обработки.
- **Сохранение в базу данных**: Данные сохраняются в базе данных SQLite.
- **Экспорт в iCalendar**: Создание iCalendar файла, который можно импортировать в большинство календарных приложений.
- **Гибкость**: Пользователь может выбрать обработку всех недель или только определённых, вводя номера недель через запятую.
## Требуемые библиотеки
Перед запуском программы, убедитесь, что у вас установлены следующие Python библиотеки:
- `pandas`: Для обработки данных Excel.
- `openpyxl`: Для работы с Excel-файлами.
- `ics`: Для создания файлов iCalendar.
- `fuzzywuzzy`: Для нечеткого сопоставления строк.
- `python-Levenshtein`: Для оптимизации работы `fuzzywuzzy`.
- `pytz`: Для работы с часовыми поясами.
- `sqlite3`: Для работы с базой данных SQLite (входит в стандартную библиотеку Python).
Вы можете установить необходимые библиотеки с помощью pip:
```bash
pip install pandas openpyxl ics fuzzywuzzy python-Levenshtein pytz
```
## Установка и запуск
1. **Склонируйте репозиторий**:
```bash
git clone https://github.com/AniCatPro/iCal_imp.git
```
2. **Перейдите в директорию проекта**:
```bash
cd iCal_imp
```
3. **Убедитесь, что все библиотеки установлены**:
```bash
pip install -r requirements.txt
```
4. **Переименуйте имя файла xlsx:**
```
out.xlsx
```
5. **Запустите программу**:
```bash
python main.py
```
6. **Следуйте инструкциям на экране** для ввода учебного года, даты начала первой недели, и числа недель.
## Использование
- **Ввод учебного года**: Введите учебный год в формате `гггг-гггг` (например, `2024-2025`).
- **Ввод даты начала первой недели**: Введите дату в формате `дд.мм` (например, `01.09`).
- **Ввод количества учебных недель**: Введите целое число.
- **Выбор недель для обработки**: Введите номера недель через запятую или оставьте строку пустой для обработки всех недель.