使用百度翻译api翻译逐行翻译excel内容
AI-摘要
切换
Tianli GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
我们在工作中可以会遇到需要对excel表格中的某一列进行一一翻译的类似情况。如果翻译数量比较少,直接手工复制到某词霸或某道就可以了,但是,如果是几千或几万的量级,手工复制粘贴会浪费很多时间。例如假设有一万条待翻译对象,你以上面的方式可以做到每秒钟一条,那么时间消耗是10000秒约合2.8个小时,而我通过调用百度云api进行翻译,我只是需要等待10000/10/3600=0.28小时,可以带来10倍的效率。
话不多说,先放出所有代码:
# 首先导入所有需要用到的类库
import time
import pandas as pd
import hashlib
import json
import random
import requests
from retry import retry
# 准备api参数
url = "http://api.fanyi.baidu.com/api/trans/vip/translate"
appid = '202003100003960461' # 你的appid
secretKey = 'IEQIchTbpzUNK6TWxmmm1' # 你的密钥
salt = random.randint(32768, 65536)
# 使用函数封装过程
def get_tra_res(q, fromLang='zh', toLang='en'):
# 生成签名
sign = appid + q + str(salt) + secretKey
sign = hashlib.md5(sign.encode()).hexdigest()
# post请求参数
data = {
"appid": appid,
"q": q,
"from": fromLang,
"to": toLang,
"salt": str(salt),
"sign": sign,
}
# post请求
res = requests.post(url, data=data)
# 返回时一个json
try:
trans_result = json.loads(res.content).get(
'trans_result')[0].get("dst")
except:
trans_result = 'N/A'
return trans_result
# 使用pandas读取Excel
df = pd.read_excel('0410.xlsx', sheet_name='Sheet1')
# 封装翻译过程
def trans(key):
time.sleep(0.15)
print(get_tra_res(key))
return get_tra_res(key)
# df['自动翻译'] = df.名称[1212:].apply(lambda x: trans(x))
# df.to_excel('result.xlsx')</pre>
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 evertears
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果