zoukankan      html  css  js  c++  java
  • 将组织结构转换为层级json

    # -*-coding:utf8-*-
    import pymysql
    import datetime
    import json
    import random
    import logging
    
    logging.basicConfig(filename="test_convert_org_to_tree.log",filemode="a",
                        format="%(asctime)s-%(funcName)s-%(lineno)d-%(levelname)s:%(message)s",level=logging.INFO)
    console = logging.StreamHandler()
    logging.getLogger().addHandler(console)
    
    def execute_sql(sqlstr):
    	db = pymysql.connect("10.136.142.111","liumin1","liumin1","liumin1",port=3306 )
    	cursor = db.cursor()
    	try:
    		cursor.execute(sqlstr)
    		if(sqlstr.lower().startswith("select")):
    			data = cursor.fetchall()
    		db.commit()
    	except Exception as e:
    		logging.info(e)
    		logging.info("执行失败的SQL是:%s" % sqlstr)
    		db.rollback()
    	db.close()
    	try:
    		return data 
    	except Exception as e:
    		return None
    
    # def convert_table_to_org(data_list):
    # 	org = {}
    # 	org["id"] = data_list[0]
    # 	org["name"] = data_list[1]
    # 	org["parentid"] = data_list[2]
    # 	return org
    
    def consalt_table_to_python(sqlstr):
    	logging.info("要执行的SQL是:%s" % sqlstr)
    	data = execute_sql(sqlstr)
    	# if(not data):
    	# 	return
    	org_list = []
    	logging.info("data是:%s" % json.dumps(data))
    	for i in data:
    		org = {}
    		org["id"] = i[0]
    		org["name"] = i[1]
    		org["parentid"] = i[2]
    		org_list.append(org)
    
    	return org_list 
    
    def get_sub_children(org_tree):
    	sqlstr = "select id,name,parentid from liuyue_test_org where parentid=%d;" %org_tree["id"]
    	org_tree_tmp = consalt_table_to_python(sqlstr)
    	logging.info("org_tree_tmp是:%s" % org_tree_tmp)
    	# if(org_tree_tmp):
    	for i in org_tree_tmp:
    		logging.info("i是:%s" % i)
    		get_sub_children(i)
    	org_tree["childrenlist"]=org_tree_tmp
    
    def convert_org_to_tree():
    	sqlstr = "select id,name,parentid from liuyue_test_org where parentid=0;"
    	org_tree = consalt_table_to_python(sqlstr)[0]
    	get_sub_children(org_tree)
    	return (json.dumps(org_tree))
    
    print(convert_org_to_tree())
    

      

  • 相关阅读:
    20155307《网络对抗》网络欺诈技术防范
    20155307《网络对抗》信息搜集与漏洞扫描
    20155307《网络对抗》MSF基础应用
    20155307《网络对抗》恶意代码分析
    20155307《网络对抗》免杀原理与实践
    预习非数值数据的编码方式
    预习原码补码
    C语言ll作业01
    C语言寒假大作战04
    C语言寒假大作战03
  • 原文地址:https://www.cnblogs.com/yahutiaotiao/p/12708348.html
Copyright © 2011-2022 走看看