Installing¶
python-docx versions 0.3.0 and later are not API-compatible with prior versions.
python-docx is hosted on PyPI, so installation is relatively simple, and just depends on what installation utilities you have installed.
python-docx may be installed with pip if you have it available:
pip install python-docx
python-docx can also be installed using easy_install , although this is discouraged:
easy_install python-docx
If neither pip nor easy_install is available, it can be installed manually by downloading the distribution from PyPI, unpacking the tarball, and running setup.py :
tar xvzf python-docx-version>.tar.gz cd python-docx-version> python setup.py install
python-docx depends on the lxml package. Both pip and easy_install will take care of satisfying those dependencies for you, but if you use this last method you will need to install those yourself.
Dependencies¶
- Python 2.6, 2.7, 3.3, or 3.4
- lxml >= 2.3.2
python-docx
python-docx is a Python library for reading, creating, and updating Microsoft Word 2007+ (.docx) files.
Installation
pip install python-docx
Example
More information is available in the python-docx documentation
Подробности проекта
Ссылки проекта
Статистика
Метаданные
Лицензия: MIT License (MIT)
Метки docx, office, openxml, word
Требует: Python >=3.7
Сопровождающие
Классификаторы
История выпусков Уведомления о выпусках | Лента RSS
Эта версия
1.0.0rc1 предварительный выпуск
0.3.0a5 предварительный выпуск
0.3.0a4 предварительный выпуск
0.3.0a3 предварительный выпуск
0.3.0a2 предварительный выпуск
0.3.0a1 предварительный выпуск
0.3.0dev1 предварительный выпуск
Загрузка файлов
Загрузите файл для вашей платформы. Если вы не уверены, какой выбрать, узнайте больше об установке пакетов.
Source Distribution
Uploaded 4 нояб. 2023 г. source
Built Distribution
Uploaded 4 нояб. 2023 г. py3
Хеши для python-docx-1.1.0.tar.gz
| Алгоритм | Хеш-дайджест | |
|---|---|---|
| SHA256 | 5829b722141cf1ab79aedf0c34d9fe9924b29764584c0f2164eb2b02dcdf17c9 | Копировать |
| MD5 | 5eec0cce48aa886d5a4f72337b3d08a8 | Копировать |
| BLAKE2b-256 | 3c82eb6c794e61b7060d465a23917161da4ab554dccce07a3b44a0d69a61ea7d | Копировать |
Хеши для python_docx-1.1.0-py3-none-any.whl
| Алгоритм | Хеш-дайджест | |
|---|---|---|
| SHA256 | bac9773278098a1ddc43a52d84e22f5909c4a3080a624530b3ecb3771b07c6cd | Копировать |
| MD5 | 49ed59c5b7da156237d3a2a2cb240703 | Копировать |
| BLAKE2b-256 | 5fd86948f7ac00edf74bfa52b3c5e3073df20284bec1db466d13e668fe991707 | Копировать |
Помощь
О PyPI
Внесение вклада в PyPI
Использование PyPI
Разработано и поддерживается сообществом Python’а для сообщества Python’а.
Пожертвуйте сегодня!
PyPI», «Python Package Index» и логотипы блоков являются зарегистрированными товарными знаками Python Software Foundation.
Python API для создания и редактирования документов Microsoft ® Word
Библиотека Python с открытым исходным кодом для управления файлами MS Word, добавления таблиц и изображений в файлы Word DOCX и многого другого.
Что такое Python-DOCX?
Python-DOCX — это библиотека Python с открытым исходным кодом, которая дает разработчикам программного обеспечения возможность работать с Microsoft Word (Docx) в своих собственных приложениях. API может создавать и изменять документы Word с расширением файла .docx.
API очень производительный и поддерживает несколько важных функций обработки текстов, таких как открытие документа, добавление абзаца, добавление заголовка, добавление разрыва страницы, добавление таблицы, вставка изображений, применение стиля абзаца, форматирование текста и многое другое.
- С одного взгляда
- Независимость от платформы
- Вспомогательные форматы файлов
С одного взгляда
Обзор функций Python-DOCX.
- Создать DOCX
- Изменить DOCX
- Добавить абзацы
- Добавить таблицу
- Вставить изображение
- Форматирование текста
- Добавить заголовок
- Разрыв страницы
- Установить цвета
- Выравнивание текста
- Поддержка закладок
Python-DOCX
Python-DOCX поддерживает популярные форматы файлов сжатия, перечисленные ниже.
Python-DOCX
Независимость от платформы
Python-DOCX требует только Python 2.6 и выше
- Python 2.6, 2.7, 3.3 или 3.4
- lxml >= 2.3.2
Python-DOCX
Начало работы с Python-DOCX
Python-DOCX размещен на PyPI, поэтому его очень просто установить. Его можно установить с помощью pip, используя следующую команду.
Установите Python-DOCX с помощью команды pip
pip install python-docx
Его также можно установить через easy_install, но это не рекомендуется.
Python API для создания документов Word DOCX
Библиотека Python-DOCX предоставляет функциональные возможности для создания, а также обработки документов Microsoft Word DOCX. API также позволяет разработчикам программного обеспечения изменять текстовые документы. Теперь, чтобы открыть документ Word, создайте экземпляр вместе с передачей пути к документу. Вы также можете добавлять изображения, добавлять заголовки, вставлять таблицы, поддерживать стили шрифтов, форматировать текст и многое другое. Используя следующие шаги, вы можете легко создать документ Microsoft Word в своем приложении Python.
Создать слово легко
- Инициализировать объект FastExcel
- Создать книгу
- Заполнить данные строки
- Написать Эксель
Быстрое создание Word — Python
// initialize document object document = Document() // add heading document.add_heading('Document Title', 0) // add paragraph p = document.add_paragraph('A plain paragraph having some ') // style paragraph p.add_run('bold').bold = True p.add_run(' and some ') p.add_run('italic.').italic = True // save word document document.save('demo.docx')
Добавить таблицу в документ Word DOCX
Python-DOCX API позволяет разработчикам добавлять таблицы в документ Word DOCX внутри приложений Python. Существует несколько свойств и методов, связанных с таблицей. Чтобы использовать таблицу, вам нужно будет использовать их, например, доступ к ячейке таблицы, границе таблицы, доступ к отдельным строкам или столбцам и многое другое.
Добавление изображений в файлы Word DOCX
Python-DOCX предоставляет программистам возможность вставлять изображения в документ Word DOCX. Чтобы добавить изображение, вам необходимо указать имя и местоположение изображения. По умолчанию добавленное изображение отображается в исходном размере. Вы можете указать как ширину, так и высоту изображения. Классы Inches и Cm предназначены для того, чтобы вы могли указывать измерения в удобных единицах измерения.
Файл: Установка Python.docx
Нажать install и дождаться завершения установки. В результате в указанной директории должна получиться такая картина:

2.1 Установить Pycharm https://www.jetbrains.com/ru-ru/pycharm/download/ (или любую другую пригодную IDE (вроде даже в VisualStudio можно создавать проекты на python))
2.1 Писать код в простом редакторе типа Notepad++ (https://notepad-plus-plus.org/downloads/) или любом другом
Например:
- Создать новый файл Notepad++ и ввести одну строчку кода:

- Сохранить с расширением .py:

- Открыть cmd командную строку (зажав клавиши Win+R и введя cmd в строку):

- Запустить скрипт указав путь до python и до файла скрипта:

Обзор основных возможностей Python (v3)
Базовый синтаксис
- они определяют, какой код попадает в блок
- когда блок кода начинается и заканчивается
if a > b:
print(«A больше B»)
print(a — b)
else:
print(«B больше или равно A»)
print(b — a)
Комментарии
Комментарии в Python могут быть однострочными. Однострочные комментарии начинаются со знака решётки:
# Очень важный комментарий
a = 10
b = 5 # Очень нужный комментарий
Для многострочного комментария можно использовать три двойные или три одинарные кавычки:
Переменные
- имя переменной может состоять только из букв, цифр и знака подчёркивания
- имя не может начинаться с цифры
- имя не может содержать специальных символов @, $, %.
- имена переменных обычно пишутся или полностью большими или полностью маленькими буквами (например DB_NAME, db_name);
- имена функций задаются маленькими буквами, с подчёркиваниями между словами (например, get_names);
- имена классов задаются словами с заглавными буквами без пробелов, это так называемый CamelCase (например, CiscoSwitch)
def get_string():
return «string»
Типы данных
- None (ничто)
- Boolean (логический тип данных)
- Numbers (числа) (целые и с плавающей точкой)
- Strings (строки)
label = ‘Обычная строка’
byte_string = b’byte string’
- Lists (списки)
- Tuples (кортежи)
- Sets (множества)
- Dictionaries (словари)
В качестве значений можно использовать значения любых типов
«»»
mixed_example = 4: 1,
3.445: 2,
‘key’: 3,
b’key’: 4,
False: 5,
None: 6,
(1, 2, 3): 7
>
«»»
Но обычно в качестве ключей используются строки
Пример списка продуктов и их стоимости:
«»»
goods_to_price_map = «сахар»: 45.0,
«молоко»: 51.5,
«масло»: 120.0
>
- Изменяемые (mutable) (списки, словари и множества)
# Добавление элементов в конец списка
list_of_fruits.append(‘Абрикос’) # стало [‘Яблоко’, ‘Апельсин’, ‘Абрикос’]
list_of_fruits += [‘Груша’, ‘Персик’] # стало [‘Яблоко’, ‘Апельсин’, ‘Абрикос’, ‘Груша’, ‘Персик’]
# Изменение элементов списка по их порядковому номеру
list_of_fruits[0] = ‘Слива’ # стало [‘Слива’, ‘Апельсин’, ‘Абрикос’, ‘Груша’, ‘Персик’]
list_of_fruits[2] = ‘Гранат’ # стало [‘Слива’, ‘Апельсин’, ‘Гранат’, ‘Груша’, ‘Персик’]
list_of_fruits[-2] = ‘Абрикос’ # второй элемент с конца изменён, стало [‘Слива’, ‘Апельсин’, ‘Гранат’, ‘Абрикос’, ‘Персик’]
# удаление элементов из списка по их порядковому номеру
del list_of_fruits[1] # стало [‘Слива’, ‘Гранат’, ‘Абрикос’, ‘Персик’]
del list_of_fruits[-1] # первый элемент с конца удалён, стало [‘Слива’, ‘Гранат’, ‘Абрикос’]
# извлечь элемент из списка по индексу (по умолчанию -1 (первый с конца)) и записать его в переменную
last_fruit = list_of_fruits.pop()
«»»
Операции с множествами
«»»
cities = # повторные значения не добавляются
# Добавление элемента в множество
cities.add(‘Москва’) # не добавится, так как уже есть
# Ещё один список городов
another_cities =
# Операции со множествами
common_cities = cities.intersection(another_cities) # Общие города
unique_cities1 = cities.difference(another_cities) # Города, которые есть в первом множестве, и которых нет во втором
different_cities = cities.symmetric_difference(another_cities) # Города, которые есть только в первом и втором множествах (которые не общие)
all_cities = cities.union(another_cities) # Объединение городов из двух множеств
contains = cities.issubset(another_cities) # False, так как первый список не является подмножеством второго
contains = cities.issubset(all_cities) # True, так как первый список является частью объединённого множества
# Удаление элемента из множества
all_cities.remove(‘Пекин’) #
random_city = all_cities.pop() # Извлекает произвольный элемент и присваивает в переменную
«»»
Операции со словарями
«»»
goods_to_price_map = «сахар»: 45.0,
«молоко»: 51.5,
«масло»: 120.0
>
# Добавление пары ключ-значение в словарь
goods_to_price_map[«мука»] = 42.0
# Добавление нескольких пар ключ-значение в словарь
goods_to_price_map.update(«соль»: 14.5,
«перец»: 25
>) # цена на перец будет добавлена, цена на соль обновлена
# Удаление пар ключ-значение из словаря
del goods_to_price_map[«молоко»]
salt_price = goods_to_price_map.pop(«соль») # пара с ключом «соль» извлечена из словаря, а значение записано в переменную
- Неизменяемые (immutable) (числа, строки и кортежи)
# Попытка изменения символа в строке приведёт к ошибке
# label[0] = ‘I’
- Упорядоченные (ordered) (списки, кортежи, строки)
# Доступ по порядковому номеру. Работает аналогично для списков, кортежей и строк
numbers[0] # ‘Zero’
numbers[1] # ‘One’
numbers[-2] # ‘Eight’
- Неупорядоченные (unordered) (множества, словари)
Проверка и преобразование типов
# Коллекции
numbers = [‘Zero’, ‘One’, ‘Two’, ‘Three’, ‘Four’, ‘Five’, ‘Six’, ‘Seven’, ‘Eight’, ‘Nine’]
isinstance(numbers, list) # True
type(numbers) == tuple # False
numbers = tuple(numbers) # (‘Zero’, ‘One’, ‘Two’, ‘Three’, ‘Four’, ‘Five’, ‘Six’, ‘Seven’, ‘Eight’, ‘Nine’)
isinstance(numbers, tuple) # True
type(numbers) == set # False
# Числа
digit = 42
isinstance(digit, int) # True
type(digit) == float # False
digit = float(digit) # 42.0
isinstance(digit, float) # True
type(digit) == int # False
# Булевы преобразования
bool(42) # True
bool(0) # False
bool(-2) # True .
bool([1, 2, 3]) # True
bool([]) # False
Арифметические операции
# Арифметика чисел
a = 12 + 2 # 14
b = 12 * 2 # 24
c = 12 — 2 # 10
d = 12 / 2 # 6
e = 14 // 3 # 4 (целочисленное деление, дробная часть отбрасывается)
f = 12 % 3 # 0 (остаток от деления)
g = 12 ** 2 # 144 (возведение в степень)
h = 9 ** (1 / 2) # 3 (извлечение корня)
# Списковые типы
i = [1, 1, 1] + [2, 2, 2] # [1, 1, 1, 2, 2, 2]
j = [1, 1, 1] * 2 # [1, 1, 1, 1, 1, 1]
k = «Hello» + » » + «world» # «Hello world»
l = «Hello» * 2 # «HelloHello»
Управление ходом программы
Конструкция if – elif – else
goods_to_price_map = «сахар»: 45.0,
«молоко»: 51.5,
«масло»: 120.0
>
if «сыр» in goods_to_price_map:
print(«Сыр есть в наличии, можно брать»)
elif goods_to_price_map:
print(«Сыра нет, но можно взять что-то другое»)
else:
print(«На витрине пусто =(«)
# Тернарный оператор
honey_price = goods_to_price_map[«мёд»] if «мёд» in goods_to_price_map else 0
Логические операции not, and, or, is, in…
# Функция проверяет списки на идентичность
def is_list_equal(list_a, list_b):
return list_a == list_b
# Функция проверяет ссылаются ли переменные на один и тот же список
def is_the_same_list(list_a, list_b):
return list_a is list_b
# Функция добавляет значение в список, если значения нет в этом списке
def add_to_list(value, target_list):
if value not in target_list:
target_list.append(value)
# Функция проверяет является ли первое значение меньше второго
def is_less_than(a, b):
return a < b
# Функция проверяет является ли первое значение больше второго
def is_greater_than(a, b):
return a > b
# Функция проверяет входит ли значение в диапазон
def is_in_range(a, value, b):
return a
Циклы while – else и for – else, break, continue
while True:
command = input()
if command == «quit»:
break
else:
history.append(command)
else:
print(«Ввод команд завершён») # тело в секции else не выполнится, если цикл прерван используя break
# выполнится только если цикл доработал до конца по условию в while
for command in history:
if «echo» in command:
continue
else:
print(command)
else:
print(«Вся история команд распечатана»)
Пропуск реализации pass
# pass требуется чтобы явно обозначить пустое тело цикла, условия или описания функции или класса, так как после двоеточия ожидается тело с отступом
while True:
pass
# Функция, логика которой будет реализована позже
def future_function():
# TODO: реплизация будет написана позже
pass
Обработка исключений, конструкция try – except – else – finally
Конструкция try – except используется для обработки исключений вызываемых при возникновении ошибок во время исполнения кода. Код, который потенциально может «кинуть исключение» выполняется в теле секции try, а код, который должен обработать исключение в теле секций except. Конструкция позволяет отлавливать и обрабатывать исключения нескольких типов, при этом будет вызван только один обработчик, для которого указан наиболее подходящий тип. Все исключения наследуют класс Exception, поэтому, если ни один из ожидаемых типов исключений не совпадает с вызванным, конструкция попытается использовать обработчик исключения Exception (except Exception… или просто except: …), если общий обработчик не указан, исключение не будет обработано, и программа завершится с ошибкой.
