@vitHlJT62b7VCE2

Как вытащить нужные данные из таблицы docx?

Никак не могу разобраться с библиотекой docx (как правильно работать).

Таблица имеет вид:
5be46f865dcc3909685731.png

Требуется достать расписание на группу (которую укажешь в условии) в таком виде.
Название группы
%время%: %название предмета% %аудитория% %препод%

Как это сделать? Официальную документацию читал, так и не разобрался нормально.
Примеров так же практически нет.
  • Вопрос задан
  • 664 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Zanak
Чтобы видеть, что именно у вас не получается, нужно видеть код. Открываю документацию, и вижу: создаем инстанс документа, передав путь до файла, доступ к существующим элементам получаем через inline_shapes, paragraphs, sections или tables, новые создаем с помощью add_* методов. Каждый элемент страницы содержит, либо коллекции вложенных элементов, либо свойство text, которое, скорее всего вам и нужно.
В вашем случае порядок действий должен быть примерно такой:
- читаем документ
- перебираем таблицы (свойство tables документа), пока не найдем нужную Table (критерием соответствия может быть, например, наличие строки "№ ауд." в соответствующих ячейках первой строки, метод cell у таблицы вам в помощь)
- перебираем строки найденных таблиц, выбирая из ячеек соответствующие данные в случае заголовка таблицы или строки с предметом
- по мере нахождения, добавляем в результат новые данные
- закрываем документ и показываем все найденное
Ответ написан
Комментировать
1. переименовать файл в zip
2. распаковать архив в папку
имеем кучу чудесных xml файлов. разбираем, парсим, забирам данные
собственно так библиотеки и работают с этим форматом, но иногда парсить xml намного удобнее :)
Ответ написан
Комментировать
@Stormwalker
Попробуйте openpyxl или pandas.
Задайте логику обхода нужных ячеек в цикле, и сделайте с данными то, что требуется.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы