Python处理英文文档(添加音标和翻译)

2023-11-20 22:20

本文主要是介绍Python处理英文文档(添加音标和翻译),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Python处理英文文档(添加音标和翻译)

  • Python处理英文文档
    • 单词标注音标
    • 英文翻译
    • 对word文档的操作
    • 方法整合
    • 待改进之处

Python处理英文文档

上英语课的时候老师总喜欢找人读文章和翻译文章,一点点的准备太浪费时间,就用Python写了一个简单的程序,实现从word文档读取文本,为复杂单词标注音标并以段落为单位进行翻译,然后保存成一个新的文档。

单词标注音标

调用Python工具库eng_to_ipa,直接pip install 安装,只需要一行代码就可以实现单词音标标注。

import eng_to_ipa as ipa
pronounce=ipa.convert("The idea of instructing computers in natural language has fascinated researchers for decades, as it promises to make the power
of computing more customizable and accessible to people without programming training")
print(pronounce)
#output
#ðə aɪˈdiə əv ˌɪnˈstrəktɪŋ kəmˈpjutərz ɪn ˈnæʧərəl ˈlæŋgwɪʤ həz ˈfæsəˌneɪtɪd ˈrisərʧərz fər ˈdɛkeɪdz, ɛz ɪt ˈprɑməsəz tɪ meɪk ðə paʊər əv kəmˈpjutɪŋ mɔr customizable* ənd ækˈsɛsəbəl tɪ ˈpipəl without* ˈproʊˌgræmɪŋ ˈtreɪnɪŋ
#有连字符或者特殊符号的单词无法正常翻译,但这种情况是少数

英文翻译

调用Python库translate,也是pip install 安装,两行代码实现英文翻译。(需要联网)

from translate import Translator
#英译中
translator=Translator(from_lang="en",to_lang="zh")
trans=translator.translate("The idea of instructing computers in natural language has fascinated researchers for decades, as it promises to make the power of computing more customizable and accessible to people without programming training")
#output
#几十年来,用自然语言教授计算机的想法一直吸引着研究人员,因为它有望使计算的力量更具可定制性和可访问性,让没有编程培训的人
#此种方法输入的最大字符长度为500

对word文档的操作

借助docx库可以实现对word文档的读取和写入,直接使用pip安装。

from docx import Document
doc = Document(path)
#读取段落
doc.paragraphs
#添加段落
doc.add_paragraph(save_para)

方法整合

借助上面所介绍的3个工具库可以实现目标功能,整合上面的3段代码,最后代码如下。

from docx import Document
from translate import Translator
translator=Translator(from_lang="en",to_lang="zh")
path = '../en_data/unit2.docx'
save_path="../en_data/unit2_trans.docx"
doc = Document(path)
save_doc=Document(save_path)
for paragraph in doc.paragraphs:#将句子切分为单词text=paragraph.text.split(" ")save_para=""save_trans_para=""#将句子切分,防止超出最大长度sentences=paragraph.text.split(".")print(sentences)for i in range(len(text)):#只对长度大于6的单词标注音标if len(text[i])<7:save_para=save_para+text[i]+" "else:save_para=save_para+text[i]+"["+ipa.convert(text[i])+"]"+" "save_doc.add_paragraph(save_para)for sentence in sentences:save_trans_para=save_trans_para+translator.translate(str(sentence))+"。"save_doc.add_paragraph(save_trans_para)save_doc.add_paragraph(" ")
save_doc.save(save_path)

最终保存的word文档效果如下图,基本满足日常学习的需求。
效果图

待改进之处

目前我认为存在的一个问题就是我只是用单词长度简单的区分了需要标注的单词和不需要标注的单词,这种方法有些过于草率,如果可以建立困难单词数据库的话,就能做到标注真正需要标注的单词。

这篇关于Python处理英文文档(添加音标和翻译)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/397836

相关文章

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

Python脚本实现图片文件批量命名

《Python脚本实现图片文件批量命名》这篇文章主要为大家详细介绍了一个用python第三方库pillow写的批量处理图片命名的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言源码批量处理图片尺寸脚本源码GUI界面源码打包成.exe可执行文件前言本文介绍一个用python第三方库pi

Python中多线程和多进程的基本用法详解

《Python中多线程和多进程的基本用法详解》这篇文章介绍了Python中多线程和多进程的相关知识,包括并发编程的优势,多线程和多进程的概念、适用场景、示例代码,线程池和进程池的使用,以及如何选择合适... 目录引言一、并发编程的主要优势二、python的多线程(Threading)1. 什么是多线程?2.

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

Python重命名文件并移动到对应文件夹

《Python重命名文件并移动到对应文件夹》在日常的文件管理和处理过程中,我们可能会遇到需要将文件整理到不同文件夹中的需求,下面我们就来看看如何使用Python实现重命名文件并移动到对应文件夹吧... 目录检查并删除空文件夹1. 基本需求2. 实现代码解析3. 代码解释4. 代码执行结果5. 总结方法补充在

Python自动化办公之合并多个Excel

《Python自动化办公之合并多个Excel》在日常的办公自动化工作中,尤其是处理大量数据时,合并多个Excel表格是一个常见且繁琐的任务,下面小编就来为大家介绍一下如何使用Python轻松实现合... 目录为什么选择 python 自动化目标使用 Python 合并多个 Excel 文件安装所需库示例代码

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何