Python Сортировка файла DOCX - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть пользовательский словарь файла docx, в котором слова, которые нужно определить, указаны в верхнем регистре и выделены жирным шрифтом.Это единственное отличие от других слов.Определения часто бывают большими и со строками между ними, поэтому он создает новый абзац.Как образец:

A

ASDFG это означает бла.Blah происходит от aakak

Это то же самое определение для ASDFG

MUG, означающего кружку

ABBA музыкальная группа

Я хочу отделить параграфыправильно отсортировать по слову, чтобы определить (слово верхнего регистра) по алфавиту.Это то, что у меня есть

for p in document.paragraphs:
 if p.text.split(' ', 1)[0].isupper():
  #save as paragraph
  paragraph1 = text
 else:
  #concatenate to previews paragraph
  paragraph1 = text[-1] + text 

Требуемый выход

A

Определение ABBA

Определение ASDFG

M

Определение кружки

Спасибо!

1 Ответ

0 голосов
/ 28 сентября 2018
#separate paragraphs by word to define
for p in document.paragraphs:
a = -1
if p.text.split(' ', 1)[0].isupper():
    texto.append(p.text)
    a = a + 1
else: 
    texto[a] = texto[a] + p.text

#sort the text
txt = sorted(texto)

# create an instance of a word document 
doc = docx.Document()

for t in txt:
doc_para = doc.add_paragraph(t)

docume = Document()

for t in txt:
   documen = docume.add_paragraph(t)

#export a docx named test with the sorted words
docume.save('test.docx') 
...