Python翻译Excel文件

Python翻译Excel文件朋友需要翻译大量 Excel 文件内容 看我是否能搭把手 我的思路很简单 就是将 Excel 文件内容读出后 调用翻译软件的 API 然后再爬回翻译好的内容 写入 Excel 读取 Excel 文件内容的方法 我这里要处理的是 xlsx 文件 可以 importopenpy 如果要处理 xls 文件 就不能用这个 而是 importxlrd 或者先将 xks 文件转为 xlsx 文件再使用本文代码 具体这两个包提

朋友需要翻译大量Excel文件内容,看我是否能搭把手,我的思路很简单,就是将Excel文件内容读出后,调用翻译软件的API,然后再爬回翻译好的内容,写入Excel。

读取Excel文件内容的方法:我这里要处理的是 .xlsx文件,可以import openpyxl,如果要处理.xls文件,就不能用这个,而是import xlrd,或者先将.xks文件转为.xlsx文件再使用本文代码。具体这两个包提供的方法是如何操作Excel文件的,自行百度查看其使用文档就一眼明了了。

调用API:调用百度翻译API,可进入“百度翻译开放平台”进行用户注册,和申请使用。免费的标准版就够用,只是限制每秒最多只能访问一次。(但是免费真香= =)。
申请完后就会有自己的APP ID 和秘钥,这是访问百度翻译API时必须发送的参数。想具体知道如何使用翻译API,它的接入方式,地址,参数等等,可参考“通用翻译API接入文档”

下面逐部分放出全部代码:

mport hashlib import random import openpyxl from openpyxl import Workbook import requests import time 

引入time是因为,免费版的API限制每秒只能访问一次,如果不做停顿,结果会有很多空白= =

apiurl = 'http://api.fanyi.baidu.com/api/trans/vip/translate' appid = '输入自己的APP ID' secretKey = '输入自己的秘钥' 

APP ID 和 秘钥 在“百度翻译开放平台”上注册完就能得到。

def translateBaidu(content, fromLang='en', toLang='zh'): salt = str(random.randint(32768, 65536)) sign = appid + content + salt + secretKey sign = hashlib.md5(sign.encode("utf-8")).hexdigest() try: paramas = { 
    'appid': appid, 'q': content, 'from': fromLang, 'to': toLang, 'salt': salt, 'sign': sign } response = requests.get(apiurl, paramas) jsonResponse = response.json() dst = str(jsonResponse["trans_result"] [0]["dst"]) return dst except Exception as e: print(e) 

这是从Excel得到翻译内容后,构造相应的请求参数,然后发送至百度翻译API,并将其翻译结果,以Json的格式获取,并剥离出来。这些参数的设计和Json结果的剥离,都可以直接从“通用翻译API接入文档”里得知。

def excelTrans(srcFilename=r'c:\Users\Administrator\Desktop\source.xlsx', desFilename=r'c:\Users\Administrator\Desktop\result.xlsx', srcSheet='Sheet1', desSheet='result1'): wb = openpyxl.load_workbook(srcFilename) ws = wb[srcSheet] wb2 = Workbook() ws2 = wb2.create_sheet(title=desSheet) for i in range(1, 需要翻译的那一列的行数+1): b = ws.cell(row=i, column=1).value print(str(b)) result = translateBaidu(str(b)) ws2.cell(row=i, column=1).value = str(result) time.sleep(1) wb2.save(desFilename) 

srcFilename要填需要翻译的Excel文件路径,destFilename填翻译后生成的文件路径,srcSheet为需要翻译Excel文件里的哪一个表,desSheet表示在Excel文件里生成的表名。

if __name__ == '__main__': print('start translating...') excelTrans() print('ending...') 

代码全连起来后可用,也可根据自己的需要进行更改,比如需要翻译的源语种和目标语种可通过查 百度翻译API的开发文档更改参数;对于Excel文件的操作,则直接看openpyxl的文档或者网上总结它的常用方法,就可灵活运用了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232524.html原文链接:https://javaforall.net

(0)
上一篇 2025年10月4日 下午4:01
下一篇 2025年10月4日 下午4:22


相关推荐

  • 无人机新手基础操作教程

    无人机行业的快速发展使得航拍逐渐流行起来。据本人了解无人机可以生产一些GIS数据。1.起飞与降落练习远离无人机,解锁飞控,缓慢推动油门等待无人机起飞,这就是起飞的操作步骤。其中推动油门一定要缓慢,即使已经推动一点距离,电机还没有启动也要慢慢来。降落时,同样需要注意操作顺序:降低油门,使飞行器缓慢的接近地面;离地面约5-250px处稍稍推动油门,降低下降速度;然后再次降低油门直至无人机触地(触底后不得推动油门);油门降到最低,锁定飞控。相对于起飞来说,降落…

    2022年4月1日
    1.0K
  • 提案过稿率翻倍!3步用AIGC搞定插画包装,效果图美到哭!

    提案过稿率翻倍!3步用AIGC搞定插画包装,效果图美到哭!

    2026年3月15日
    2
  • matlab 加权回归估计_matlab代码:地理加权回归(GWR)示例

    matlab 加权回归估计_matlab代码:地理加权回归(GWR)示例【实例简介】地理加权回归(GWR)matlab代码,亲测可用,该代码利用matlab实现了地理加权回归的代码,内附实际算例。【实例截图】【核心代码】functionresult=gwr(y,x,east,north,info);%PURPOSE:computegeographicallyweightedregression%—————————–…

    2022年10月6日
    4
  • 系统日志管理[通俗易懂]

    系统日志管理[通俗易懂]1、日志的查看日志可以记录下系统所产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统进行排错,优化系统的性能,或者根据这些信息调整系统的行为。收集你想要的数据,分析出有价值的信息,可以提高系统、产品的安全性,可以帮助开发完善代码,优化产品。日志会成为在事故发生后查明“发生了什么”的一个很好的“取证”信息来源。日志可以为审计进行审计跟踪。系统用久了偶尔也会出现一

    2022年4月29日
    30
  • 亿图图示2021用户名和密钥激活码 mac【2021.7最新】[通俗易懂]

    (亿图图示2021用户名和密钥激活码 mac)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWNlbnNlSW…

    2022年3月21日
    5.5K
  • 最新扣子(coze)实战应用工作流:快速搭建小丑语录爆款图文的智能体,手把手教学

    最新扣子(coze)实战应用工作流:快速搭建小丑语录爆款图文的智能体,手把手教学

    2026年3月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号