Удаление китайских иероглифов из файла MS Word - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь использовать python для создания скрипта для удаления китайских символов из документа MS Word, единственная проблема в том, что файл изначально был документом с китайским словом, поэтому форматирование - это просто набор текстовых полей. Прямо сейчас у меня есть код, способный прочитать все текстовые поля, но по какой-то причине, когда я пытаюсь на замену персонажей ничего не происходит. Я новичок в python, поэтому, если кто-нибудь сможет помочь мне лучше понять мой код, я буду благодарен.

our_dic = ['≤', '≥', '~', '%', '\n', '\t', '℃']
for x in range(10): 
    our_dic.append(str(x))

temp = set()
trns = None

for x in file_array:
    doc = Document(x)
    rep_dic = {}
    for table in doc.tables:
        print("loading...")
        for row in table.rows:
            for cell in row.cells:
                for paragraph in cell.paragraphs:
                    for letters in paragraph.text:
                        if (ord(letters) < 128) or (letters in our_dic) :
                            temp.add(letters)
                    for k in temp:
                        print(paragraph.text.replace(k, ""))
doc.save(x)
print("I finished your deletion")

Прямо сейчас я использую print для проверки кода, но замена, кажется, не печатает код без китайских символов в нем.

1 Ответ

0 голосов
/ 19 марта 2019

Какого черта вы используете для этого Python, а не VBA, который уже встроен прямо в Word ?! Вы должны попробовать что-то вроде этого:

Sub DeleteAllObjects()
For i = ActiveDocument.Shapes.Count To 1 Step -1  
    ActiveDocument.Shapes(i).Delete  
Next i
End Sub

Или найдите конкретное «форматирование», представляющее все китайские символы, и замените его пробелами.

См. Это для получения дополнительной информации.

https://www.extendoffice.com/documents/word/748-word-remove-all-text-boxes.html

...