An open API service indexing awesome lists of open source software.

https://github.com/anicatpro/ical_imp

Исключительно для заочного отделения кафедры «Программное обеспечение» ИжГТУ
https://github.com/anicatpro/ical_imp

Last synced: about 1 month ago
JSON representation

Исключительно для заочного отделения кафедры «Программное обеспечение» ИжГТУ

Awesome Lists containing this project

README

          

# Экспорт расписания Excel в Календарь (iCal)

image

## Функциональность

- **Загрузка расписаний из 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`).
- **Ввод количества учебных недель**: Введите целое число.
- **Выбор недель для обработки**: Введите номера недель через запятую или оставьте строку пустой для обработки всех недель.