MyUniUni 第七期《Google Translate》

26. September 2019 技术交流会 0

提取网页版Google Translate的接口来翻译,性能和稳定性较差,但免费。

若资金允许或条件允许,请使用官方API https://cloud.google.com/translate/docs/

Python库安装:

pip install googletrans

库地址:https://github.com/ssut/py-googletrans

本次演示翻译Excel指定列内容,并把翻译结果写入到指定列中,适用平时的翻译工作,快速高效,有翻译任务的小伙伴必备。

读取Excel需要安装Pandas,Numpy,演示环境使用Anaconda,这些基本库均已安装。

本次教程较为简单,面向python初学者,公司具有翻译任务的人员,领略Python的强大,一起学Python。

接下来看代码:

from googletrans import Translator

import pandas as pd 

# 方法一:根据行循环,逐行翻译

def translate():

    for i in range(df.shape[0]):

        # 循环每一行,逐行翻译

        translate_result = translator.translate(df.loc[i, “name”], dest=’zh-CN’).text

        # 保存翻译结果

        df.loc[i, “name_cn”] = translate_result

    # 保存Excel文件

    df.to_excel(“colleges_major_complete.xlsx”, index=False)

# 方法二:读取列要翻译的列,批量翻译

def translate_batch():

    # 获取要翻译的列

    names = list(df[‘name’].values)

    # 获取批量翻译的结果

    translate_results = translator.translate(names, dest=’zh-CN’)

    # 定义完成翻译的列表

    complete = list()

    # 循环获取批量翻译的结果

    for result in translate_results:

        complete.append(result.text)

    # 批量插入列

    df[‘name_cn’] = complete

    # 保存Excel文件

    df.to_excel(“colleges_major_complete_batch.xlsx”, index=False)

if __name__ == “__main__”:

    # 初始化定义Google翻译对象

    translator = Translator(service_urls=[

        ‘translate.google.cn’,

    ])

    # 读取要翻译的Excel内容

    df = pd.read_excel(“colleges_major.xlsx”)

    # 查看从Excel中导入的数据

    print(df.head())

    # 方法一:根据行循环,逐行翻译

    # translate()

    # 方法二:读取列要翻译的列,批量翻译

    # translate_batch() 


Leave a Reply

Your email address will not be published. Required fields are marked *