Open In App

Working with Lists – Python .docx Module

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Prerequisite: Working with .docx module

Word documents contain formatted text wrapped within three object levels. The Lowest level- run objects, middle level- paragraph objects, and highest level- document object. So, we cannot work with these documents using normal text editors. But, we can manipulate these word documents in python using the python-docx module. Pip command to install this module is:

pip install python-docx

Python docx module allows users to manipulate docs by either manipulating the existing one or creating a new empty document and manipulating it. It is a powerful tool as it helps you to manipulate the document to a very large extent. There are two types of lists:

  • Ordered List
  • Unordered List

To add an ordered/unordered list in a Word document there are styles available in the .add_paragraph() method of the document object.

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 ‘\n’, tabs ‘\t’ or a carriage return character ‘\r’.
  • Style: It is used to set style.

Ordered List

Styles to add an ordered list are:

Sr. No.

Style Name

Description

1.

List Number

It adds an ordered list in the word document.

2.

List Number 2

It adds an ordered list with a single tab indentation in the word document.

3.

List Number 3

It adds an ordered list with double tab indentation in the word document.

Note: Each list-point is considered as a paragraph in a list so you have to add each point as a new paragraph with the same style name.

 

Example 1: Adding an ordered list in the Word document.

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 list of style name 'List Number'
doc.add_heading('Style: List Number', 3)
# Adding points to the list named 'List Number'
doc.add_paragraph('The first item in an ordered list.',
                  style='List Number')
  
doc.add_paragraph('The second item in an ordered list.'
                  style='List Number')
  
doc.add_paragraph('The third item in an ordered list.'
                  style='List Number')
  
# Adding list of style name 'List Number 2'
doc.add_heading('Style: List Number 2', 3)
# Adding points to the list named 'List Number 2'
doc.add_paragraph('The first item in an ordered list.',
                  style='List Number 2')
  
doc.add_paragraph('The second item in an ordered list.',
                  style='List Number 2')
  
doc.add_paragraph('The third item in an ordered list.'
                  style='List Number 2')
  
# Adding list of style name 'List Number 3'
doc.add_heading('Style: List Number 3', 3)
# Adding points to the list named 'List Number 3'
doc.add_paragraph('The first item in an ordered list.',
                  style='List Number 3')
  
doc.add_paragraph('The second item in an ordered list.',
                  style='List Number 3')
  
doc.add_paragraph('The third item in an ordered list.',
                  style='List Number 3')
  
# Now save the document to a location 
doc.save('gfg.docx')


Output:

Document gfg.docx

Unordered List

Styles to add an unordered list are:

Sr. No.

Style Name

Description

1.

List Bullet

It adds an unordered list in the word document.

2.

List Bullet 2

It adds an unordered list with a single tab indentation in the word document.

3.

List Bullet 3

It adds an unordered list with a double tab indentation in the word document.

Note: Each list-point is considered as a paragraph in a list so you have to add each point as a new paragraph with the same style name.

 

Example 2: Adding an unordered list in the Word document.

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 list of style name 'List Bullet'
doc.add_heading('Style: List Bullet', 3)
# Adding points to the list named 'List Number'
doc.add_paragraph('The first item in an unordered list.'
                  style='List Bullet')
  
doc.add_paragraph('The second item in an unordered list.',
                  style='List Bullet')
  
doc.add_paragraph('The third item in an unordered list.',
                  style='List Bullet')
  
# Adding list of style name 'List Bullet 2'
doc.add_heading('Style: List Bullet 2', 3)
# Adding points to the list named 'List Number'
doc.add_paragraph('The first item in an unordered list.',
                  style='List Bullet 2')
  
doc.add_paragraph('The second item in an unordered list.',
                  style='List Bullet 2')
  
doc.add_paragraph('The third item in an unordered list.'
                  style='List Bullet 2')
  
# Adding list of style name 'List Bullet 3'
doc.add_heading('Style: List Bullet 3', 3)
# Adding points to the list named 'List Number'
doc.add_paragraph('The first item in an unordered list.',
                  style='List Bullet 3')
  
doc.add_paragraph('The second item in an unordered list.',
                  style='List Bullet 3')
  
doc.add_paragraph('The third item in an unordered list.',
                  style='List Bullet 3')
  
# Now save the document to a location 
doc.save('gfg.docx')


Output:

Document gfg.docx



Last Updated : 07 Mar, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads