paip.输入法英文词库的处理 python 代码 o4

时间:2021-08-10 07:39:45
paip.输入法英文词库的处理 python 代码 o4

目标是eng>>>中文>>atian
当输入非atian词的时候儿,能打印出  atian pinyin >>>english提示..  ,在根据英文输入..


=====下载源词库
要下载一个格式好的词库文件还是很困难的..几乎没..只好自己写兰...

下载一个-GRE 8k词库..excel,删除不要的datasheet,导入mysql
格式如下:
abandon    v./n.放弃;放纵     

============需要做如下的数据清理:
分割出词性,分割出多个的中文词..如下
abandon    放弃         v./n.
abandon    放纵         v./n.


作者: 老哇的爪子Attilax 艾龙,  EMAIL:1466519819@qq.com
来源:http://blog.csdn.net/attilax

====对应的代码python
conn2 = mysql.connector.connect(user=user, password=pwd, host=host, database=db)

cursorInsert = conn2.cursor()
import dicUtil
from dicUtil import *
#this must match field amout and order in sql
for (en, cn, id) in cursor:
    if(hasTsisin(cn)):
        tsisin=left_ByDot(cn)
        cnstr=right_ByDot(cn)
    else:
        tsisin="nonx."
        cnstr=cn
    cnstr=cnstr.replace(";", ",")
    cnstr=cnstr.replace(",", ",")  
    
    cnstr_a=cnstr.split(",")
#    for index8 in range(len(list)):
#        print index8
#      print list[index8]
    print (" "+tsisin+"---"+cnstr)
    for index,v in enumerate(cnstr_a):
      #  print ()index
      #  print (v) strip
        sql=" insert into grejx_def (en,cn,nAdjV)values('@en','@cn','@adj')"
        sql=sql.replace("@en", trim(en)).replace("@cn", v.strip()).replace("@adj", tsisin.strip())
        print(sql)
        reslt=cursorInsert.execute(sql)
        
        print("---insert resl:")
        print(reslt)
        conn2.commit()
       
def hasTsisin(str):
    try:
        lastIndex=str.rindex(".")
        #print(lastIndex)
        return True
    except :
        print("--no has dot"+ str)
        return False       

参考
excel背单词-TOEFL-GRE - 下载频道 - CSDN.NET