Библиотека
python-docx
позволяет работать с документами Word (файлами .docx) в Python. С помощью этой библиотеки можно создавать, редактировать и извлекать данные из документов Word. Рассмотрим основные операции с файлами Word с примерами.Установка библиотеки
Для работы с
python-docx
сначала необходимо установить эту библиотеку. Сделать это можно с помощью команды:pip install python-docx
Создание нового документа Word
from docx import Document
# Создание нового документа
doc = Document()
# Добавление заголовков и текста
doc.add_heading('Заголовок 1', level=1)
doc.add_paragraph('Это первый параграф.')
doc.add_heading('Заголовок 2', level=2)
doc.add_paragraph('Это второй параграф.')
# Сохранение документа
doc.save('example_docx.docx')
Чтение существующего документа Word
from docx import Document
# Открытие существующего документа
doc = Document('example_docx.docx')
# Извлечение и вывод текста из каждого параграфа
for paragraph in doc.paragraphs:
print(paragraph.text)
Добавление таблицы в документ Word
from docx import Document
# Создание нового документа
doc = Document()
# Добавление таблицы в документ
table = doc.add_table(rows=3, cols=3)
for i, row in enumerate(table.rows):
for j, cell in enumerate(row.cells):
cell.text = f'Ячейка {i+1},{j+1}'
# Сохранение документа
doc.save('example_table.docx')
Добавление изображения в документ Word
from docx import Document
from docx.shared import Inches
# Создание нового документа
doc = Document()
# Добавление изображения в документ
doc.add_picture('example_image.png', width=Inches(2.0))
# Сохранение документа
doc.save('example_image.docx')
Форматирование текста в документе Word
from docx import Document
from docx.shared import Pt
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
# Создание нового документа
doc = Document()
# Добавление форматированного текста
p = doc.add_paragraph()
run = p.add_run('Это текст с форматированием.')
run.bold = True # Жирный шрифт
run.italic = True # Курсив
run.font.size = Pt(14) # Размер шрифта
# Изменение шрифта
run.font.name = 'Arial'
r = run._element
r.rPr.rFonts.set(qn('w:eastAsia'), 'Arial')
# Сохранение документа
doc.save('formatted_text.docx')