@vitHlJT62b7VCE2

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
от 140 000 до 190 000 руб.
BestDoctor Москва
от 120 000 до 150 000 руб.
Cashwagon Москва
от 150 000 руб.
22 мая 2019, в 06:06
5000 руб./за проект
22 мая 2019, в 02:45
1000 руб./за проект