Lekce 19 - Práce se soubory DocX v Pythonu - Analýza bloků
V předchozí lekci, Práce se soubory DocX v Pythonu - Čtení a struktura jsme si popsali základy XML struktury DocX
dokumentů. Ukázali jsme si taky, jak pomocí knihovny python-docx
přistupovat k odstavcům, run
elementům, obrázkům a
tabulkám.
V dnešním tutoriálu práce se soubory v Pythonu dokončíme téma formátu DocX. Zaměříme se na největší problém, kterým je čtení obrázků. Vypracujeme také funkce pro načtení celého dokumentu.
Analýza a čtení souboru ve formátu DocX
Začneme tím, že si připravíme funkci, která bude analyzovat obsah
načteného odstavce. Pojmenujeme ji projdi_bloky()
. Zde odbočíme
a povíme si něco o blocích. Blok je obecný pojem, který se
používá pro popis různých strukturálních jednotek formátu
.docx
. V XML struktuře dokumentu se mohou objevit různé typy
bloků. Bloky mohou být reprezentovány různými XML elementy, jako jsou
<w:p>
(odstavec), <w:tbl>
(tabulka),
<w:sdt>
(obsah ovládacích prvků) atd.
Analýza bloků
Naše funkce tedy jako argument bere kořenový objekt dokumentu. Jejím cílem je postupně projít všechny jeho bloky a rozhodnout, o jaký typ se bloku jedná. Víme, že obecně existují více typů bloků, my pro jednoduchost budeme ale rozlišovat jenom odstavce a tabulky. Kód vypadá následovně:
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tomto tutoriálu práce se DocX soubory v Pythonu sestavíme celý program k analýze a přečtení DocX souboru.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.