本脚本可将word文档中的全部文字进行拼音标注,标注结果可忽略无拼音的字符(如标点符号、特殊字符等),标注结果也可识别多音字并标注出全部注音。
注意,需提前安装docx、pypinyin库
pip install pypinyin
pip install python-docx
然后复制如下代码
import docx
from pypinyin import pinyin
"""自己找一段文字粘贴到一个word文档中,并复制该文档的绝对路径粘贴到下方的双引号内"""
initial_docx = docx.Document("D:\\Newsoft\PyCharm\PycharmProjects\\NLP_Homework_1\拼音.docx")
# initial_docx = docx.Document(r"D:\Newsoft\PyCharm\PycharmProjects\NLP_Homework_1\拼音.docx") #等价于上面一行的写法
output_docx = docx.Document()
output_docx.add_paragraph("注音后的文本:") # 此行添加一个提示段落,可不要
for para in initial_docx.paragraphs:
text = para.text
para_list = []
for single_char in text:
single_char_Added_pinyin = pinyin(single_char, heteronym=True, errors='ignore',v_to_u=True) #返回的是嵌套列表,元素是单个字的拼音字母
if len(single_char_Added_pinyin) == 0: #另一种写法:if not single_char_Added_pinyin:
para_list.append(single_char)
else:
para_list.append(single_char + '(' + ','.join(single_char_Added_pinyin[0]) + ')')
pinyin_text1 = ' '.join(para_list)
output_docx.add_paragraph(pinyin_text1)
"""添加注音后的新文档所保存的路径,请自己更改到合适的地方"""
output_docx.save(r"D:\Newsoft\PyCharm\PycharmProjects\NLP_Homework_1\output.docx")