json输出到excel中


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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值