朋友需要翻译大量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的文档或者网上总结它的常用方法,就可灵活运用了。

点赞

收藏

分享

文章举报

GuitarRed

发布了2 篇原创文章 · 获赞 0 · 访问量 57

私信

关注

python 英语翻译 excel_Python翻译Excel文件相关推荐

  1. python导入excel文件-python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  2. Python使用openpyxl模块读写excel文件

    Python使用openpyxl模块读写excel文件 openpyxl是一个用于写入和读取xlsx格式的excel文件的Python模块. excel2010后的后缀名为xlsx,不再是xls,使用 ...

  3. [转载] Python利用openpyxl模块读取excel文件内容

    参考链接: Python | 使用openpyxl模块调整Excel文件的行和列 import openpyxl wb = openpyxl.load_workbook('原始数据.xlsx') #读 ...

  4. python读取20万数据Excel文件+拆分数据

    python读取20万数据Excel文件 使用普通的pandas读取Excel,再结合xlrd读取,可能会读取的Excel数据会不全,最多只能读取到65535+行的数,如果读取超大excel数据时就读 ...

  5. python实现图书管理系统——通过excel文件或者TXT文件存放数据

    用python实现图书管理系统--通过excel文件或者TXT文件存放数据 话不多说,先上图,看看运行起来的效果: 由上图可知,我实现的主要功能: 用户注册 用户登录 添加图书 查询图书 删除图书 修 ...

  6. python 通过openpyxl来操作Excel文件(一 ):读取Excel文件

    这篇文章讲python 通过openpyxl来读取Excel文件 不清楚怎么通过openpyxl来写入Excel文件的小伙伴可以看我另一篇文章 传送门python 通过openpyxl来操作Excel ...

  7. python 通过openpyxl来操作Excel文件(二 ):写入Excel文件

    这篇文章讲python 通过openpyxl来写入Excel文件,不清楚python怎么读取Excel文件的小伙伴可以去看下我的另一篇文章 传送门https://blog.csdn.net/i_cof ...

  8. 在trados中翻译ppt、excel文件

    ppt 文件的翻译: 1.打开trados workbench 2.打开tageditor 3.将文件拖入tageditor 4.运行workbench ,翻译 5.翻完后,打开workbench 中 ...

  9. python转化成excel_python转换excel成py文件

    python转换excel成py文件 文件结构如下: originExcelFolder放用来转换的excel文件. targetPyFolder用来存放最后生产的py文件. setting.py用来 ...

  10. python创建excel_python创建Excel文件数据的方法

    原博文 2018-12-07 18:41 − # -*- coding: utf-8 -*- # @Time : 2018/12/6 17:10 # @Author : suchao # @Disc: ...

最新文章

  1. Day3--js--可恶之变量声明提升大法.。。
  2. 邮箱解决任务间资源共享问题
  3. LeetCode上求两个排序数组中位数问题—— Median of Two Sorted Arrays
  4. 理解MYSQL MVCC 实现机制
  5. [蓝桥杯][2015年第六届真题]表格计算(递归+记忆化)
  6. java content()_Java contentEquals() 方法
  7. Java List接口概述
  8. luogu P1858 多人背包
  9. android随机抽奖代码_用Excel实现不放回随机抽样
  10. java判断包含关系contains方法的使用
  11. 怎么编译shell_运维如何才能学好 Shell?
  12. 表单美化+html+css
  13. 基于java小区物业管理系统
  14. 元器件中关于晶体二极管的小小知识 2021-09-07
  15. Android 模块化开发
  16. (3)Android常见界面控件
  17. 教你把多个视频合并成一个视频的方法
  18. 一个优秀的UI界面应该是什么样的
  19. torch tensor复数运算
  20. jQuery获取或设置元素的属性值

热门文章

  1. 《CSS世界》学习感想(持续更新)
  2. IDEA导入项目后如何运行
  3. git ssh密钥生成与配置
  4. offer oracle svp_SVP - Uncyclopedia
  5. svn将本地项目传到svn
  6. SVN客户端下载及安装
  7. sql的 lpad函数
  8. hive三种建表语句
  9. Wifi模块与串口助手通信的常用AT指令集
  10. 使用深度森林(Deep Forest)进行分类-Python