社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

对于程序员,我们有我们自己的撩妹办法。——用python替一个妹子解决批量翻译问题。

郝春阳 • 5 年前 • 211 次点击  
版权声明:如需转载,请联系本人。 https://blog.csdn.net/stronking/article/details/81569717

嗯,我是一个暖心肠的人,还是个程序员,虽然妹子也是一个程序猿,但是术业有专攻这句话可不是白说的,妹子做数据分析的,获取了大概6000多个分类单词,需要一点一点的翻译,大概一上午的时间吧,也就翻译了一千左右单词,这个效率太慢了。既耽误跟我聊天,还会容易因为我跟他聊天耽误工作,这样到头来怎么说也捞不到我的好啊,然后我就研究了一下,要不试试调用百度翻译或者是有道翻译的接口试试?然后,我就默默的来开始了查翻译的API,由于词汇量不多,所以调用了一下百度的,当然要是很多的话,百度是会收费的。嗯。。。。。。。好了,上代码!

#python3.6.5
# coding=utf-8
#Strong by 20180810

from hashlib import md5
from urllib import request
import random
import xlrd
import json


def fanyi(mes):
    appid = ''  # 你的appid
    secretKey = ''  # 你的密钥

    httpClient = None
    myurl = 'http://api.fanyi.baidu.com/api/trans/vip/translate' #api接口
    q = mes.replace(" ", "").replace("&", "")  #去除url中不符合的字符
    print(q)   #打印需要翻译的单词
    fromLang = 'en' #英语
    toLang = 'zh'  #中文
    salt = random.randint(32768, 65536) #生成随机数

    sign = (appid + q + str(salt) + secretKey) #密钥
    m1 = md5() #创建hash5
    m1.update(sign.encode("utf-8"))
    sign = m1.hexdigest() #生成加密字符串
    myurl2 = myurl + '?appid=' + appid + '&q=' + q + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(
        salt) + '&sign=' + sign
    # print(myurl2.replace(" ",""))
    req = request.Request(myurl2)#请求接口
    try:
        s = request.urlopen(req) #请求接口
    except Exception as e:
        print(e)
        return {"src": mes, "dst": mes}
    m = s.read().decode("utf-8")
    js = eval(m) 
    #生成字典
    print(js)
    trans_result = js["trans_result"]  
    #取值
    l = str(trans_result).strip("[").strip("]") 
    #洗数据
    a = eval(l) 
    #生成字典

    return a  #返回


def read():
    file_path = r'I:\1.xls'  #读取文件路径
    # 读取的文件路径
    # file_path = file_path.decode('ANSI')
    # 文件中的中文转码
    data = xlrd.open_workbook(file_path)   
    #打开excel文件 获取数据
    table = data.sheet_by_name('Sheet1')
    # 获取sheet
    nrows = table.nrows
    # 获取总行数
    ncols = table.ncols
    # 获取总列数

    f = open("D:/fanyi.xls", "w") 
     #将翻译好的数据写入这个文件
    er = open("D:/fanyicuowu.xls", "w") 
    #遇到错误写道这个文件里面
    print("行数", nrows)
    print("列数", ncols)
    for i in range(2, nrows, 1):
        for j in range(0, 4, 1):
            # print("i",i,"j",j)
            cell_value = table.cell(i, j).value  
            #去除单元格的值
            # print(cell_value)
            if cell_value == "":
                pass
            #     print("kkkkkkk")
            #     break
            else:
                print("i",i,"j",j,cell_value)
                a = fanyi(cell_value)   #翻译
                try:
                    f.write(a["src"] + "\t") 
                     #写入文件
                    f.write(a["dst"] + "\n")  
                    #写入文件
                except Exception as u:
                    print(u)
                    er.write(u + "\t")   
                    #将错误写入文件
                    er.write(cell_value + "\n") 
                    #写入出错的单词

    er.close()
    f.close()
    return None
if __name__ == '__main__':
    read()

用了大概两个小时时间,成功解决他需要两天左右时间要完成的工作量。

虽然有可能撩不到,但是自己也学习了呀,是不是,敲代码是最重要的,作为一个程序员,怎么可能不敲代码?so,这是一个动力,说不定哪天妹子就被撩到了呢。


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/ooOwSt061H
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/26880
 
211 次点击