Python 生成json文件

1.数据准备 

   数据下载

2.python代码

import  datetime 
import  os
import  mssqlhelper


ms = mssqlhelper.MSSQL(host="192.168.0.108", user="sa", pwd="sa", db="ComPrject")
def getAreas(cityid):
    arealist=ms.ExecQuery("select *From  dbo.areas  where  cityid='%s' " % cityid)
    return arealist

def getCity(provinces):
    citylist=ms.ExecQuery("select *From  dbo.cities where provinceid='%s'" % provinces)
    return citylist

def getProvinces():
    provlist=ms.ExecQuery("select *From  dbo.provinces")
    return provlist

def createFileJson():
    date=datetime.datetime.now().strftime('%Y-%m-%d')
    path=date+'-provinces.json'
    return path


def writeJson(path):
    provlist=getProvinces()
    
    with open(path,"w+",encoding="utf-8") as  f:
        f.write("[")
        lp = 0
        for p in provlist:
            if lp>0:
                f.write(",
")
            else:
                f.write("
")
            f.write("{
")
            f.write('"Code":"%s"
'% p[1])
            f.write(',"Name":"%s"
'% p[2])
            f.write(',Nodes:[
')
            citylist=getCity(p[1])
            lc = 0
            for c in citylist:
                if lc>0:
                    f.write("	,
")
                else:
                    f.write("
")
                f.write("	{
")
                f.write('	"Code":"%s"
'% c[1])
                f.write('	,"Name":"%s"
'% c[2])
                f.write('	,Nodes:[
')
                arealist = getAreas(c[1])
                la = 0
                for a in arealist:
                    if la>0:
                        f.write("		,
")
                    else:
                        f.write("
")
                    f.write("		{
")
                    f.write('		"Code":"%s"
'% a[1])
                    f.write('		,"Name":"%s"
'% a[2])
                    f.write("		}
")
                    la += 1
                f.write("	]
")
                f.write("	}
")
                lc += 1
            f.write("]
")
            f.write("}
")
            lp += 1
        f.write("]
")
            
                

if __name__ == '__main__':
    path=createFileJson()
    writeJson(path)
    

3.生成预览

原文地址:https://www.cnblogs.com/linsu/p/8808914.html