Работа с абзацами в модуле Python .docx

Опубликовано: 30 Ноября, 2021

Предварительные требования: docx

Документы Word содержат форматированный текст, заключенный в три уровня объектов. Объекты нижнего уровня - объекты, объекты среднего уровня - абзацы и объект верхнего уровня - документ. Поэтому мы не можем работать с этими документами в обычных текстовых редакторах. Но мы можем управлять этими текстовыми документами в Python с помощью модуля python-docx. Команда Pip для установки этого модуля:

 pip установить python-docx

Модуль Python docx позволяет пользователю манипулировать документами, либо манипулируя существующим, либо создавая новый пустой документ и манипулируя им. Это мощный инструмент, так как он помогает вам в очень большой степени манипулировать документом.

Добавление абзаца

Чтобы добавить абзац в текстовый документ, мы используем встроенный метод add_paragraph (), чтобы добавить абзац в текстовый документ. Используя этот метод, мы даже можем добавлять абзацы, содержащие символы вроде ' n', ' t' и ' r'. Кроме того, мы также можем добавлять к нему различные стили.

Syntax: doc.add_paragraph(String s, style=None)

Parameters:

  • String s: It is the string data that is to be added as a paragraph. This string can contain newline character ‘ ’, tabs ‘ ’ or a carriage return character ‘ ’.
  • style: It is used to set style.

Пример 1. Программа Python для добавления абзаца в документ Word.

Python3

# Import docx NOT python-docx
import docx
# Create an instance of a word document
doc = docx.Document()
# Add a Title to the document
doc.add_heading( 'GeeksForGeeks' , 0 )
# Adding paragraph
doc.add_paragraph( 'GeeksforGeeks is a Computer Science portal for geeks. It contains well written, well thought and well-explained computer science and programming articles, quizzes etc.' )
# Now save the document to a location
doc.save( 'gfg.docx' )

Выход:

Многострочный абзац может быть вставлен путем ввода многострочной строки в методе, что можно легко сделать, используя три одинарные кавычки «Geeksforgeeks» ».

Пример 2: Программа Python для добавления многострочных абзацев в текстовый документ.

Python3



# Import docx NOT python-docx
import docx
# Create an instance of a word document
doc = docx.Document()
# Add a Title to the document
doc.add_heading( 'GeeksForGeeks' , 0 )
# Adding multilined paragraph
doc.add_paragraph( '''GeeksforGeeks is a Computer Science portal for geeks.
It contains well written, well thought and well explained computer science
and programming articles, quizzes etc.''' )
# Now save the document to a location
doc.save( 'gfg.docx' )

Выход:

Документ gfg.docx, вы можете видеть, что вводы сохраняются в абзаце

Стили абзаца

Они используются для добавления стилей к тексту абзацев. Вы можете добавлять заголовки, подписи, цитаты, а также заголовки, используя стили абзацев. В методе абзаца существует множество стилей, некоторые из них:

Старший Нет

Название стиля

Описание

1.

Обычный

Он используется для добавления обычного текста.

2.

Основной текст

Он используется для добавления текста в стиле основного текста.

3.

Подпись

Он используется для добавления текста в стиле подписи.

4.

Заголовок

Он используется для добавления текста в стиле заголовка.

5.

Заголовок n

Он используется для добавления текста в стиле заголовка. n может быть любым целым числом от 1 до 9.

6.

макрос

Он используется для добавления текста в стиле макроса.

7.

Цитировать

Он используется для добавления текста в стиле цитаты.

8.

Заголовок оглавления

Он используется для добавления текста в стиле заголовка оглавления.

9.

Подзаголовок

Он используется для добавления текста в стиле субтитров.

10.

Без интервала

Он используется для добавления текста без интервала.

Пример 3: Программа Python для добавления абзацев с разными стилями в текстовый документ.

Python3

# Import docx NOT python-docx
import docx
# Create an instance of a word document
doc = docx.Document()
# Add a Title to the document
doc.add_heading( 'GeeksForGeeks' , 0 )
# Adding Normal Texted paragraph
doc.add_heading( 'Normal Style:' , 3 )
doc.add_paragraph( 'GeeksforGeeks is a Computer Science portal for geeks.' ,
style = 'Normal' )
# Adding Body Text Styled paragraph
doc.add_heading( 'Body Style:' , 3 )
doc.add_paragraph( 'GeeksforGeeks is a Computer Science portal for geeks.' ,
style = 'Body Text' )
# Adding Caption Styled paragraph
doc.add_heading( 'Caption Style:' , 3 )
doc.add_paragraph( 'GeeksforGeeks is a Computer Science portal for geeks.' ,
style = 'Caption' )
# Adding Title Styled paragraph
doc.add_heading( 'Title Style:' , 3 )
doc.add_paragraph( 'GeeksforGeeks is a Computer Science portal for geeks.' ,
style = 'Title' )
# Adding Heading Styled paragraph
doc.add_heading( 'Heading 1 Style:' , 3 )
doc.add_paragraph( 'GeeksforGeeks is a Computer Science portal for geeks.' ,
style = 'Heading 1' )
# Adding Macro Text Styled paragraph
doc.add_heading( 'Macro Text Style:' , 3 )
doc.add_paragraph( 'GeeksforGeeks is a Computer Science portal for geeks.' ,
style = 'macro' )
# Adding Quoted Style paragraph
doc.add_heading( 'Quoted Style:' , 3 )
doc.add_paragraph( 'GeeksforGeeks is a Computer Science portal for geeks.' ,
style = 'Quote' )
# Adding TOC Heading Styled paragraph
doc.add_heading( 'TOC Heading Style:' , 3 )
doc.add_paragraph( 'GeeksforGeeks is a Computer Science portal for geeks.' ,
style = 'TOC Heading' )
# Adding Subtitle Styled paragraph
doc.add_heading( 'Subtitle Style:' , 3 )
doc.add_paragraph( 'GeeksforGeeks is a Computer Science portal for geeks.' ,
style = 'Subtitle' )
# Adding No Spacing Styled paragraph
doc.add_heading( 'No Spacing Style:' , 3 )
doc.add_paragraph( 'GeeksforGeeks is a Computer Science portal for geeks.' ,
style = 'No Spacing' )
# Now save the document to a location
doc.save( 'gfg.docx' )

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.