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将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意