Diese Frage zum Löschen markiert istDas zum Löschen markiert ist
0
A
Antwort
0
Dies könnte nicht sehr hübsch aussehen (oder Professional), aber es wird die Arbeit getan:
from docx import Document
from docx.enum.text import WD_BREAK
import re
doc = Document('temp.docx')
new_doc = Document()
word = 'Hello'
'''Get the whole document text from all paragraphs'''
whole_text=''
for p in doc.paragraphs:
if whole_text!='':
whole_text+='\n'
whole_text += p.text
'''To split whole_text but include Hello in the created list
put parentheses around the word and use re.split'''
split_p = re.split(word.join('()'),whole_text)
'''Now if 'Hello' was the first word of whole_text re.split will create
['','Hello','...']
if that's the case, remove first '' to avoid unwanted page_break at the
start'''
if split_p[0]=='':
split_p.remove('')
i = 0
while i<len(split_p):
if split_p[i] == word:
'''We don't want to add break at the start of document'''
if len(new_doc.paragraphs)>0:
'''new_doc.add_page_break() creates a newline with page break on it
but the below command will put page break on the last paragraph
so there won't be additional empty lines
If you don't want to have an additional import line
then just put 7 instead of WD_BREAK.PAGE'''
new_doc.paragraphs[-1].add_run().add_break(WD_BREAK.PAGE)
'''Add 'Hello' + the text coming after it'''
new_doc.add_paragraph(split_p[i]+split_p[i+1])
i+=2
else:
'''If the first Hello is not at the start of document just add the
text'''
new_doc.add_paragraph(split_p[i])
i+=1
new_doc.save('hello.docx')
+0
Es funktioniert perfekt. Und danke, dass du dir die Zeit genommen hast, es zu erklären. –
+0
Gern geschehen :) – ROAR
Verwandte Themen
- 1. bestimmen, ob Django-Modell zum Löschen markiert ist
- 2. Excel VBA überlappende Fehler zum Löschen markiert Zeilen
- 3. löschen nur ein Zeichen, wenn die Region markiert ist
- 4. Versehentlich "zum Löschen markiert" Dateien in Perforce. Wie kann ich das umkehren?
- 5. Wie kann ich ID von Kaskade löschen (oder zum Löschen markiert) Elemente in sqlalchemy?
- 6. abstrakter Typ Muster ist nicht markiert, da sie durch das Löschen beseitigt
- 7. Was ist das ClojureScript-Analogon zum Löschen von JavaScript?
- 8. Warum Formularklasse ist rot markiert?
- 9. Markierung entfernen, die zur Löschung markiert ist Kafka?
- 10. Ermitteln, ob das Löschen der DataGrid-Zeile zum Löschen geeignet ist
- 11. Atom.io suchen und löschen, ist das möglich?
- 12. Wie ein -R-Status (zum Löschen markiert) rückgängig zu machen in SVN
- 13. Installieren/Deinstallieren von Diensten in Windows 7: "Fehler 1001. Der angegebene Dienst wurde zum Löschen markiert"
- 14. Ereignis auslösen, wenn headerCheckboxSelection markiert ist?
- 15. Löschen von Zeilen aus einer SQL-Tabelle, die für die Replikation markiert ist
- 16. Windows-Dienst über die Befehlszeile installieren "Der angegebene Dienst wurde zum Löschen markiert"
- 17. IIS7 + NHibernate: Ungültige Operation versucht auf einem Registrierungsschlüssel, der zum Löschen markiert wurde
- 18. Wie markiert man das Paket als Ressourcenordner?
- 19. Bleiben Markiert das ausgewählte Element in ExpandableListView?
- 20. Das Löschen eines CKRecord ist wirklich verwirrend
- 21. memsql Multitabelle löschen, ist das möglich?
- 22. Ist es sicher, das zu löschen?
- 23. Eingabefelder löschen, wenn das Kontrollkästchen aktiviert ist
- 24. Das Löschen von TCP-Verbindungen ist das normal?
- 25. Erforderliches Feld, das auf Tastendruck als ng-valid markiert ist, selbst wenn es leer ist
- 26. Warum Pthread_self ist mit Attribut (const) markiert?
- 27. Können Debug Radiobuttons nicht markiert ist zufällig
- 28. Jenkins: Build, wenn ein Zweig markiert ist
- 29. foo.jar ist nicht als ausführbar markiert
- 30. Lasagne - Warum ist der Validierungsverlust grün markiert?
https: //python-docx.readthedocs .io/de/neuste/api/document.html # docx.document.Document.add_page_break? – fredtantini
@fredtantini Das Wort, das ich suche, könnte in der Mitte des docx sein. –