Wie mit python-docx Word-Datei bearbeiten?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
powaaah
User
Beiträge: 19
Registriert: Samstag 24. Oktober 2015, 12:42

Hallo,

ich möchte eine Word-Datei mit der Bibliothek "python-docx" bearbeiten. Dort möchte ich nun z.B. Adressdaten, die in der Word-Datei stehen verändern. Ich kann mein Word-Dokument einlesen mit

Code: Alles auswählen

f = open("datei.docx", "rb")
document = Document(f)
f.close()
und kann die Word-Datei danach unter einem anderen Namen speichern.

Gehe ich recht in der Annahme, dass der Inhalt der Word-Datei in der Variable "document" gespeichert ist? Wenn er es ist, wie komme ich an den Inhalt um ihn nach meinen Wünschen zu verändern? Mit print werde ich lediglich an ein Object verwiesen. (<docx.document.Document object at 0x0...>)

Kann mir dabei jemand helfen?

Vielen Dank!
BlackJack

Sehr oft haben Module/Packages eine Dokumentation die man im Internet suchen und finden kann: https://python-docx.readthedocs.io/en/latest/
powaaah
User
Beiträge: 19
Registriert: Samstag 24. Oktober 2015, 12:42

Das war mir bekannt, hilft mir aber nicht weiter. Vielleicht erkläre ich erstmal was ich möchte: Ich möchte eine personalisierte E-Mail an mehrere Adressaten schicken. An jeder E-Mail befindet sich ein Anhang mit einer PDF-Datei. In dieser PDF-Datei müssen demzufolge Adressdaten und weitere Kleinigkeiten verändert werden. Händisch mache ich das mit Word.

Was gibt es hier für Möglichkeiten, das möglichst einfach zu automatisieren? Bisher ist mein vorgehen, die Word-Datei zu erstellen/ändern, diese dann in eine PDF umzuwandeln, anzuhängen und zu verschicken.
Sirius3
User
Beiträge: 17738
Registriert: Sonntag 21. Oktober 2012, 17:20

@powaaah: die Dokumentation geht auf den ersten Blick nicht sehr tief in die Thematik "Ändern eines Dokuments" ein. Aber wenn Du da eine konkrete Frage dazu hast, dann stell die doch auch so. Dann könnte man Dir sagen, dass nicht nur Du solch ein Problem hast und eine kurze Suche Artikel wie python-docx-replace-string-in-paragraph-while-keeping-style zutage fördert. Wenn jetzt noch ein bißchen Code bei Deiner Frage dabei wäre, könnte man dann viel besser daran anknüpfen.
Antworten