Jamir Din Miya Ответов: 1

Как я могу изменить шрифт для абзаца и удалить пробел между двумя параграфами?


Я работаю над методом docx в python. Я хочу, чтобы моя пара ключевых значений в словаре была извлечена непосредственно в формате word. Поскольку существует 100 пар ключевых значений, я хочу, чтобы они автоматически извлекались в документ word в нужном мне формате.

Что я уже пробовал:

import docx
mydoc = docx.Document()

price = {"Maling":["Melon Jam 300gram", "34aed"], "Nescafe":["3 in 1 coffee", "20 aed"]}

# defination to get value in word
  for i in price:
    mydoc.add_paragraph(i)
    for j in price[i]:
    mydoc.add_paragraph(j)
    mydoc.add_run.bold= True

    mydoc.save('demo.docx')

#I am excepting this kind of result like below:

 Maling
 Melon Jam 300gram
 34 Aed

1 Ответов

Рейтинг:
1

Sandeep Mewara

Я бы посоветовал вам пройти через базу знаний doc здесь: Работа со стилями — документация python-docx 0.8.10[^]

Просто добавьте стиль в add_paragraph по мере необходимости:

paragraph = document.add_paragraph(style='Body Text')

Обратите внимание, что существует несколько определенных стилей, которые можно использовать сразу же:
from docx.enum.style import WD_STYLE_TYPE
styles = document.styles
paragraph_styles = [
    s for s in styles if s.type == WD_STYLE_TYPE.PARAGRAPH
]
for style in paragraph_styles:
    print(style.name)

# Outputs
# Normal
# Body Text
# List Bullet
Есть определенные свойства стиля абзаца, которые вы можете использовать, чтобы получить желаемое ощущение. Попробуйте.