医疗网站前置审批,安装wordpress主题放哪里,个人备案网站会影响吗,网络域名备案一、问题描述
最近遇到一个把Excel表中两列单元格中的文本读取#xff0c;然后翻译#xff0c;再重新回填到单元格中的案例。大约有700多行#xff0c;1400多个句子#xff0c;一个个手动复制粘贴要花费不少时间#xff0c;而且极易出错。这时#xff0c;我们就可以请出…一、问题描述
最近遇到一个把Excel表中两列单元格中的文本读取然后翻译再重新回填到单元格中的案例。大约有700多行1400多个句子一个个手动复制粘贴要花费不少时间而且极易出错。这时我们就可以请出批量Excel的工具Python利用Python读取两列中非空单元格调用小牛机器翻译的API然后把例句翻译后与原文分两段排列有效解决了手工复制慢的问题。 样例
二、解决过程
1. 前期准备申请小牛API
要申请小牛机器翻译的api拿到它的样例代码如果你还不太熟练这个过程可以参考我以前的文章
用小牛翻译API让ChatGPT给我做个在线翻译网站_chatgpt在线翻译-CSDN博客文章浏览阅读2.2k次。经过测试上面这段代码有两个问题一是返回的翻译结果是json格式不是我们想要的译文二是打开网页时这个翻译结果框不显示显得不是特别好看。这时我们要请出ChatGPT设计好我们想要的网页呈现形式同时还要把我们在小牛翻译上面得到的代码样例同时在开发过程中还要在我们的网站上进行测试效果以期达到我们想到的目标。在上面例子中我对于生成的译文可以进行译后编辑也可以再喂给ChatGPT让它指出我们的语法错误润色我们的文字提出进一步修改的意见这样我们的译文质量就又可以更上一层楼了。_chatgpt在线翻译https://pythonfun.blog.csdn.net/article/details/130538982
2. 分析任务确保效果
有了api下一步是分析一下这个Excel表发现要翻译的是E列和F列所以我们就可以设置从E列和F列的第三行开始读取然后翻译遇到空的单元格就跳过。由于小牛翻译每天给20万字符的翻译而且QPS可以达到5也就是一秒可以调用五次因次是非常适合python调用的。
3. 明晰步骤编写代码
于是我们就撰写出下面的代码
import requests
from openpyxl import load_workbook
from urllib import parse,request
# 翻译函数
apikeyxiaoniu_api_key #把你的小牛翻译api贴到这里
def translate_txt(sentence):url http://api.niutrans.com/NiuTransServer/translation?data {from: en, to: zh, apikey: apikey, src_text: sentence}data_en parse.urlencode(data)req url data_enres request.urlopen(req)res_dict json.loads(res.read())if tgt_text in res_dict:result res_dict[tgt_text]else:result resreturn result# 读取Excel文件并进行翻译
def translate_excel(file_path):# 加载工作簿wb load_workbook(file_path)ws wb.active # 获取当前活动的工作表# 从E3和F3开始读取row 3while True:e_cell ws[fE{row}]f_cell ws[fF{row}]# 如果E列和F列的单元格都为空结束循环if not e_cell.value and not f_cell.value:break# 翻译非空的E列和F列if e_cell.value:e_cell.value e_cell.value \n translate_txt(e_cell.value)if f_cell.value:f_cell.value f_cell.value \n translate_txt(f_cell.value)row 1# 保存修改后的Excel文件wb.save(translated_file.xlsx)print(翻译完成已保存为 translated_file_外研版 语境版单词表xlsx(1) - 副本.xlsx)try:translate_excel(外研版 语境版单词表xlsx(1) - 副本.xlsx)
except Exception as exc:print(exc)
经过测试翻译的效果还不错1400个单元格大约用了不到五分钟就完成了任务而且全过程无人职守出去吃个水果回来工作就已经完成了。
三、学后总结
1. 在日常工作和办公中如果是批量的、重复性的工作可以想办法用python来解决节省人才和物力提高办公的效率。
2. 使用Python时一定要明确目标和方法分析问题确定解决步骤会借助常用的python模块解决现实问题这样学Python就会感觉非常有成就感。