paip.輸入法英文詞庫的處理 python 程式碼 o4

weixin_34391854發表於2014-04-12
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

相關文章