Search code examples
pythonpython-2.7ms-wordpython-docx

python-docx style_id error while creating a word document


I'm following the tutorial available on python-docx site to create a MS-Word document but I'm getting an error:

M:\Sites>python word.py
C:\Program Files\IBM\SPSS\Statistics\22\Python\lib\site-packages\docx\styles\sty
les.py:54: UserWarning: style lookup by style_id is deprecated. Use style name a
s key instead.
  warn(msg, UserWarning)

word.py

    from docx import Document
    from docx.shared import Inches
    import json

    document = Document()

    document.add_heading('Document Title', 0)

    p = document.add_paragraph('A plain paragraph having some ')
    p.add_run('bold').bold = True
    p.add_run(' and some ')
    p.add_run('italic.').italic = True

    document.add_heading('Heading, level 1', level=1)
    document.add_paragraph('Intense quote', style='IntenseQuote')

    document.add_paragraph(
        'first item in unordered list', style='ListBullet'
    )
    document.add_paragraph(
        'first item in ordered list', style='ListNumber'
    )

    document.add_page_break()

    document.save('demo.docx')

Solution

  • Simple but hard to debug. Just add space between words in style.

    document.add_paragraph('Intense quote', style='IntenseQuote')

    Changes to:

    document.add_paragraph('Intense quote', style='Intense Quote')