123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- import os
- os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8'
- from dataSource.source import *
- from utils.Utils import *
- def getContactjson(companyname,contact_person,mobile_no,phone_no,mail):
- if mobile_no!="" or phone_no!="":
- _dict = dict()
- _dict["company"] = companyname
- _dict["contact_person"] = contact_person
- _dict["mobile_no"] = mobile_no
- _dict["phone_no"] = phone_no
- _dict["mail"] = mail
- _dict["level"] = 40
- return re.sub('\'','',json.dumps([_dict],ensure_ascii=False))
- return json.dumps([])
- mobile_pattern = re.compile("^1\d{10}$")
- def recog_likeType(phone):
- if re.search(mobile_pattern,phone) is not None:
- return "mobile"
- else:
- return "phone"
- def transform_contact():
- conn_target = getConnection_testmysql()
- conn_source = getConnection_oracle()
- cursor_target = conn_target.cursor()
- cursor_source = conn_source.cursor()
- # sql = "select companyname,contact,landline,mobilephone from bxkc.HUI_CONG_CONPANYINFO"
- # cursor_source.execute(sql)
- #
- # rows = cursor_source.fetchmany(10)
- # _count = len(rows)
- # while rows:
- # list_json = []
- # for row in rows:
- # company = row[0]
- # contact_person = row[1]
- # phone_no = ""
- # if row[2]!='86':
- # phone_no = row[2]
- # mobile_no = ""
- # if row[3] is not None and re.search("\*",row[3]) is None:
- # mobile_no = row[3]
- # if phone_no!="" or mobile_no!="":
- # list_json.append(getContactjson(company,contact_person,mobile_no,phone_no,""))
- # sql = "insert into bxkc.company_contact_json(json_contact) values ('"+"'),('".join(list_json)+"')"
- # cursor_target.execute(sql)
- # rows = cursor_source.fetchmany(50000)
- # _count += len(rows)
- # print(_count)
- # sql = "select company_name,company_contact_person,company_contact_num,company_mail from bxkc.bxkc_gongyingshang_info"
- # cursor_source.execute(sql)
- #
- # rows = cursor_source.fetchmany(10)
- # _count = len(rows)
- # while rows:
- # list_json = []
- # for row in rows:
- # company = row[0]
- # contact_person = row[1]
- # phone_no = ""
- # mobile_no = ""
- # company_contact_num = row[2]
- # company_mail = row[3]
- # if company_contact_num is not None:
- # if recog_likeType(company_contact_num)=="mobile":
- # mobile_no = company_contact_num
- # else:
- # phone_no = company_contact_num
- # if company_mail is not None:
- # mail = company_mail
- # else:
- # mail = ''
- # if phone_no!="" or mobile_no!="":
- # list_json.append(getContactjson(company,contact_person,mobile_no,phone_no,mail))
- # sql = "insert into bxkc.company_contact_json(json_contact) values ('"+"'),('".join(list_json)+"')"
- # cursor_target.execute(sql)
- # rows = cursor_source.fetchmany(50000)
- # _count += len(rows)
- # print(_count)
- sql = "select company_name,contact_person,mobile_no from bxkc.bxkc_enterprise_listing_info"
- cursor_source.execute(sql)
- rows = cursor_source.fetchmany(10)
- _count = len(rows)
- while rows:
- list_json = []
- for row in rows:
- company = row[0]
- contact_person = row[1]
- phone_no = ""
- mobile_no = ""
- company_contact_num = row[2]
- if company_contact_num is not None:
- if recog_likeType(company_contact_num)=="mobile":
- mobile_no = company_contact_num
- else:
- phone_no = company_contact_num
- mail = ''
- if phone_no!="" or mobile_no!="":
- list_json.append(getContactjson(company,contact_person,mobile_no,phone_no,mail))
- sql = "insert into bxkc.company_contact_json(json_contact) values ('"+"'),('".join(list_json)+"')"
- cursor_target.execute(sql)
- rows = cursor_source.fetchmany(50000)
- _count += len(rows)
- print(_count)
- conn_target.commit()
- if __name__=="__main__":
- transform_contact()
|