import pandas as pd
import numpy as np
import utility
import json
from pandas.io.json import json_normalize
sql = """SELECT d.F_org_code,d.F_org_name,c.F_contact_info FROM
(
(SELECT a.*,b.F_customer_id FROM `etrip-approval`.t_legal_contact a
LEFT JOIN `etrip-approval`.t_person_entity b
on a.F_person_id = b.F_person_entity_id) c
LEFT JOIN `etrip-approval`.t_customer d
on c.F_customer_id = d.F_customer_id)
;
"""
legal_conta = utility.fetchdata(sql=sql)
df_legal_conta = pd.DataFrame(legal_conta)
orgname_list = pd.read_excel(u"D:\\work\\数据需求\\提取通讯录\\orgname.xlsx")
orgname_list_2 = pd.merge(orgname_list,df_legal_conta[['F_org_name','F_contact_info']],on='F_org_name',how='left')
length = orgname_list_2.shape[0]
writer = pd.ExcelWriter(u"D:\\work\\数据需求\\提取通讯录\\通讯录.xlsx")
cnt=0
for i in range(0,length):
print(orgname_list_2['F_org_name'][i])
try:
text = json.loads(orgname_list_2['F_contact_info'][i])
df = json_normalize(text)
df.to_excel(writer,sheet_name=orgname_list_2['F_org_name'][i])
cnt+=1
except TypeError:
print("数据类型有误")
finally:
print("一共输出%个客户的通讯录",cnt)