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

news2024/11/26 7:45:12

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文档效果如下图,基本满足日常学习的需求。
效果图

待改进之处

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1023793.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

已解决 Python Error: ImportError: No module named ‘module_name‘

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页: &#x1f405;&#x1f43e;猫头虎的博客&#x1f390;《面试题大全专栏》 &#x1f995; 文章图文并茂&#x1f996…

人声分离网站,帮你快速提取视频中的人声和背景音乐

今天给大家带来一个可以分离人声的网站——音分轨&#xff0c;他运用人工智能算法可以将音频中的人声部分和音乐部分分离&#xff0c;使我们的视频制作过程可以更方便。 我们点击右下角“选择文件”上传一个音频&#xff0c;上传好音频后&#xff0c;人工智能就开始处理我们上传…

同步 -- 信号量

本篇文章基于Linux-6.5源码 建议&#xff1a;搭配Linux源码观看更佳 struct semaphore {raw_spinlock_t lock; // 保护信号量的自旋锁unsigned int count; // 最大同时可访问临界区的进程数量struct list_head wait_list; // 等待队列&#xff0c;wait_list指…

linux 磁盘命令之du和df命令

du相关的命令: du -ah 显示所有目录或文件所占空间 du -KG 显示所有目录或文件所占空间 块大小K为单位 du -BM 显示所有目录或文件所占空间 块大小M为单位 du -BG 显示所有目录或文件所占空间 块大小G为单位du -sh [目录名] 返回该目录的大小 du -sm [文件夹] 返回该文…

5.2 磁盘CRC32完整性检测

CRC校验技术是用于检测数据传输或存储过程中是否出现了错误的一种方法&#xff0c;校验算法可以通过计算应用与数据的循环冗余校验&#xff08;CRC&#xff09;检验值来检测任何数据损坏。通过运用本校验技术我们可以实现对特定内存区域以及磁盘文件进行完整性检测&#xff0c;…

Java“牵手”天猫商品列表页数据采集+天猫商品价格数据排序,天猫API接口申请指南

天猫开放平台接口获取商品列表和详情数据&#xff0c;具体步骤如下&#xff1a; 在开放平台注册并创建一个应用&#xff0c;获取到 App Key 和 App Secret等信息。使用获取到的信息进行签名和认证&#xff0c;获取 Access Token。调用开放平台提供的接口&#xff0c;传入商品 …

PM3398B-6P-1–3P-E 借助物联网和人工智能解决方案

PM3398B-6P-1–3P-E 借助物联网和人工智能解决方案 油砂中的卡车发动机捕获大量数据&#xff0c;如振动、温度、压力和吞吐量等参数。但是这些数据大部分都没有被使用。借助物联网和人工智能解决方案&#xff0c;您可以轻松利用这些数据获得有用的见解。这些见解有助于您提高发…

1.wifi开发,wifi连接初次连接电脑没有识别,搭建环境

wifi连接初次连接电脑没有识别 1.不识别可能是线的问题&#xff0c;即使wifi的灯亮了&#xff0c;虽然串口却没有找到。所以解决方法就是重新来一个usb的线 一。初步使用 &#xff08;1&#xff09;使用ESP烧写工具&#xff08;选择esp8266&#xff09; &#xff08;2&#xf…

TienChin 渠道管理-添加渠道

在我们平时新建一个全新的 Java 类&#xff0c;这个类需要存放的包不存在&#xff0c;可以使用如下的方式进行创建&#xff1a; 含义就是说&#xff0c;将 ChannelVO 这个类放在 vo 这个包当中&#xff0c;如果存在则不创建&#xff0c;存在就将新建的类放入其中。 ChannelVO /…

2000-2018年各省能源消费和碳排放数据

2000-2018年各省能源消费和碳排放数据 1、时间&#xff1a;2000-2018年 2、范围&#xff1a;30个省市 3、指标&#xff1a;id、year、ENERGY、COAL、碳排放倒数*100 4、来源&#xff1a;能源年鉴 5、指标解释&#xff1a; 2018年碳排放和能源数据为插值法推算得到 碳排放…

SpringBoot接口中如何直接返回图片数据

SpringBoot接口中如何直接返回图片数据 目录 接口直接返回图片数据 起因 类似这种 根据个人经验 优雅的实现图片返回 接口直接返回图片数据 起因 最近在做涉及到分享推广的业务&#xff0c;需要由业务员分享二维码进入推广页面&#xff0c;由于是新项目&#xff0c;前期…

Vue.js基本语法上

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《Spring与Mybatis集成整合》《springMvc使用》 ⛺️ 生活的理想&#xff0c;为了不断更新自己 ! 目录 1.插值 1.1 文本 1.2 v-v-html 1.3 数据双向绑定数据(v-model) 1.4 属性&#xff…

fork函数

二.fork函数 2.1函数原型 fork()函数在 C 语言中的原型如下&#xff1a; #include <unistd.h>pid_t fork(void);其中pid_t是一个整型数据类型&#xff0c;用于表示进程ID。fork()函数返回值是一个pid_t类型的值&#xff0c;具体含义如下&#xff1a; 如果调用fork()的…

Vue3 菜鸟入门(一)超详细:介绍、安装、打包、创建项目、目录结构、起步等

【学习笔记】Vue3 菜鸟入门&#xff08;一&#xff09;超详细&#xff1a;介绍、安装、打包、创建项目、目录结构、起步等 关键词&#xff1a;Vue 、Vue 3、Java、Spring Boot、Idea、数据库、一对一、培训、教学本文主要内容含Vue3介绍、安装、打包、创建项目、目录结构、起步…

避雷器雷击计数器检验

试验目的 由于密封不良&#xff0c; 放电计数器在运行中可能进入潮气或水分&#xff0c; 使内部元件锈蚀&#xff0c;导致计数器不能正确动作&#xff0c; 因此需定期试验以判断计数器是否状态良好、 能否正常动作&#xff0c; 以便总结运行经验并有助于事故分析。 带有泄漏电…

[论文阅读] SADGA: Structure-Aware Dual Graph Aggregation Network for Text-to-SQL

“SADGA: Structure-Aware Dual Graph Aggregation Network for Text-to-SQL” 是一篇 text2sql 领域的论文&#xff0c;发布于 NeurIPS 2021。 原文链接&#xff1a;https://arxiv.org/abs/2111.00653 项目代码链接&#xff1a;https://github.com/DMIRLAB-Group/SADGA 总体…

exev函数族

一.exev函数族 1.1功能 exec()函数族的主要功能是在当前进程中运行一个新的程序。使用这些函数可以实现以下功能&#xff1a; 程序替换&#xff08;Program Replacement&#xff09;&#xff1a;调用exec()函数后&#xff0c;当前进程的代码和数据会被新程序的代码和数据替换…

【JDK 8-集合框架】5.4 allMatch 和 anyMatch 函数

一、allMatch 函数 二、anyMatch 函数 三、其它函数学习 四、实战 > 执行结果 一、allMatch 函数 检查是否 匹配所有元素&#xff0c;返回 true 二、anyMatch 函数 检查是否 至少匹配一个元素&#xff0c;返回 true 三、其它函数学习 看源码 入参&#xff0c;返回值…

【ElementUI】ElementUI Tooltip 根据内容判断是否显示、文字提示自定义样式

【ElementUI】ElementUI Tooltip 根据内容判断是否显示、文字提示自定义样式 封装组件自定义内容 <template><span v-if"[, null, undefined].indexOf(content) -1"><el-tooltip :content"content" effect"light" placement&q…

ENVI IDL:OMI-NO2产品均值计算与可视化(附Python代码)-年、季、月均值计算

目录 01 实验题目 02 我的IDL代码 03 实验给定IDL代码 04 Python代码实现 4.1 我的Python代码 4.2 实验给定Python代码 01 实验题目 计算/coarse_data/chapter_2/NO2/目录下所有OMI-NO2产品数据集ColumnAmountNO2TropCloudScreened的月均值、季均值、年均值&#xff0c;并…