侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

python批量将excel内容进行翻译写入功能

Python  /  管理员 发布于 7年前   222

由于小编初来乍到,有很多地方不是很到位,还请见谅,但是很实用的哦!

1.首先是需要进行文件的读写操作,需要获取文件路径,方式使用os.listdir(路径)进行批量查找文件。

file_path = ‘/home/xx/xx/xx'# ret 返回一个列表ret = list_dir = os.listdir(file_path)# 遍历列表,获取需要的结尾文件(只考虑获取文件,不考虑执行效率)for i in ret :    if i.endswith('xlsx'):    # 执行的逻辑

2.改写一下我调用的翻译接口

def baidu_translate(appi, secretKe, content):  appid = appi  secretKey = secretKe  httpClient = None  myurl = '/api/trans/vip/translate'  q = content  fromLang = 'zh' # 源语言  toLang = 'en' # 翻译后的语言  salt = random.randint(32768, 65536)  sign = appid + q + str(salt) + secretKey  sign = hashlib.md5(sign.encode()).hexdigest()  myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(    q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(    salt) + '&sign=' + sign  try:    httpClient = http.client.HTTPConnection('api.baidu_translation.baidu.com')    httpClient.request('GET', myurl)    response = httpClient.getresponse()    jsonResponse = response.read().decode("utf-8") # 获得返回的结果,结果为json格式    js = json.loads(jsonResponse) # 将json格式的结果转换字典结构    dst = str(js["trans_result"][0]["dst"]) # 取得翻译后的文本结果    print(dst) # 打印结果    return dst  except Exception as e:    print(e)  finally:    if httpClient:      httpClient.close()

3.现在需要进行读取excel的内容,使用方法,xlrd,小编使用的翻译是借用的百度翻译的API,获取excel内容,传递给API

import hashlibimport http.clientimport jsonimport osimport randomimport timeimport urllibimport openpyxlimport xlrd# 借用上边所述的文件路径操作# appid :翻译API提供,需要注册获取# secretKey :翻译API提供,需要注册获取def read_excel(file_path, appid, secretKey):  list_dir = os.listdir(file_path)  for i in list_dir:    if i.endswith('.xlsx'):     # 拼接获取绝对路径      file_path = file_path + '\\' + i      rbook = xlrd.open_workbook(filename=file_path)      rbook.sheets()      # 获取excel某页数据      sheet1 = rbook.sheet_by_index(0)      row_num = sheet1.nrows      for num in range(row_num):        try:         # 小编这样写的原因是我值获取指定列的数据,         # 例如现在获取第3,4列数据          txt1 = sheet1.cell_value(num, 3)          txt2 = sheet1.cell_value(num, 4)          # 为了2列数据可以同时进行翻译          txt = txt1 + '=' + txt2          # ret返回翻译结果          ret = baidu_translate(appid, secretKey, txt)          # 防止调用接口出错          time.sleep(1)          # 将翻译结果在写如excel          write_excel(ret, num, file_path)        except Exception as e:          print(e)          continue

4.因为上一步调用了这个写入excel的函数,所有我们需要写一个函数来完成写入的操作。

def write_excel(ret, num, file_path):  f_txt = file_path  book = openpyxl.load_workbook(f_txt)  sheet1 = book.worksheets[0]  # 在这个地方是获取某列写入  txtE = 'F' + str(num + 1)  txtF = 'G' + str(num + 1)  s_txt = ret.split('=')  sheet1[txtE] = s_txt[0]  sheet1[txtF] = s_txt[1]  book.save(f_txt)  if __name__ == '__main__':  appid = 'xxxx'  secretKey = 'xxxx'  path = r'xxx'  read_excel(path, appid, secretKey)

总结

以上所述是小编给大家介绍的python批量将excel内容进行翻译写入功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!


  • 上一条:
    python自动化测试无法启动谷歌浏览器问题
    下一条:
    Python爬虫爬取Bilibili弹幕过程解析
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客