必应翻译(bing)Excel文件指定内容
必应翻译(bing)Excel文件指定内容
代码如下(mac环境下python):
from cn_bing_translator import Translator
from openpyxl import load_workbook
import time
workbook = load_workbook(filename="./desktop/translate.xlsx")
sheet = workbook.active
cell = sheet["C2:C1000"]
agent1 = {'user-agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1 Edg/99.0.4844.51'}
translator = Translator(fromLang='en',toLang='zh-Hans',agent=agent1)
add = 2
for i in cell:for j in i:translated = translator.process(j.value)jg = "H"+str(add)sheet[jg].value=translatedprint(sheet[jg].value)add+=1time.sleep(0.01)
workbook.save(filename="./desktop/translate.xlsx")
-
功能详解: 这段代码的功能是将一个Excel文件中的英文单词翻译成简体中文,并将翻译结果写回到原来的Excel文件中。下面我逐步解释代码的每个部分:
-
from cn_bing_translator import Translator:从cn_bing_translator模块中导入Translator类,这个类用于进行翻译操作。 -
from openpyxl import load_workbook:从openpyxl模块中导入load_workbook函数,用于加载Excel文件。 -
import time:导入time模块,用于添加延迟以防止请求过于频繁。 -
workbook = load_workbook(filename="./desktop/translate.xlsx"):加载名为"translate.xlsx"的Excel文件到workbook变量中。 -
sheet = workbook.active:获取当前活动的工作表。 -
cell = sheet["C2:C1501"]:选择C列中从第2行到第1501行的单元格。 -
agent1 = {'user-agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1 Edg/99.0.4844.51'}:创建一个代理设置,这里模拟使用iPhone的浏览器访问。 -
translator = Translator(fromLang='en',toLang='zh-Hans',agent=agent1):创建一个Translator对象,并设置要从英文(‘en’)翻译成简体中文(‘zh-Hans’),并使用刚才定义的代理设置。 -
add = 2:设置一个计数器,初始值为2。 -
for i in cell::遍历选定的单元格。 -
for j in i::遍历当前单元格。 -
translated = translator.process(j.value):使用Translator对象的process方法将英文单词翻译成简体中文。 -
jg = "H"+str(add):根据计数器的值生成一个字符串,用来表示要写入的单元格的位置。 -
sheet[jg].value=translated:将翻译结果写入指定的单元格。 -
print(sheet[jg].value):打印翻译结果。 -
add+=1:计数器加1,用于更新下一个要写入的单元格的位置。 -
time.sleep(0.01):添加一个0.01秒的延迟,以防止请求过于频繁。 -
workbook.save(filename="./desktop/translate.xlsx"):保存修改后的Excel文件到同名的文件中。
以上代码是练习时常两天半的新手写的,如果还有其他问题或者改进建议,请随时提出,谢谢!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
