Python: запись текста в документ Word 2003 в определенном месте на странице
Я использую Python 2.7, Windows 7 и Word 2003. Эти три не могут измениться (ну за исключением, возможно, версии python). Я работаю в области юриспруденции, и у адвокатов есть примерно 3 возражения (просто большой фрагмент текста, возможно, 5 абзацев), которые необходимо вставить в текстовый документ в определенном месте. Теперь вместо того, чтобы копировать и вставлять возражение там, где оно необходимо, моя идея состоит в том, чтобы пользователь прошел через документ, добавив специальное слово / фразу (заполнитель, если хотите), который не будет найден где-либо в документе. Затем запустите некоторый код и оставьте Python для заполнения. Может быть, не самый умный способ сделать это, но я нуб. Я практиковался с тестовой страницей и вставил нижеприведенный текст в качестве заполнителей (дополнительный "о" означает возражение)
oone
otwo
othree
Ниже то, что я имею до сих пор. У меня два вопроса
- У вас есть другие предложения по этому поводу?
Мой код вставляет строку в правильном порядке, но форматирование выходит за пределы окна и записывается в мою строку 6 раз вместо 1. Как я могу решить проблему форматирования, чтобы он просто записывал текст в место, где находится заполнитель в?
import sys import fileinput f = open('work.doc', 'r+') obj1 = "oone" obj2 = "otwo" obj3 = "othree" for line in fileinput.input('work.doc'): if obj1 in line: f.write("Objection 1") elif obj2 in line: f.write("Objection 2") elif obj3 in line: f.write("Objection 3") else: f.write("No Objection") f.close
1 ответ
Вы можете использовать python-uno для загрузки документа в OpenOffice и манипулирования им с помощью интерфейса UNO. На сайте, на который я только что ссылался, есть пример кода, с которого можно начать.