python生成json_Python SQL查询并生成json文件操作示例

本文实例讲述了Python SQL查询并生成json文件操作。分享给大家供大家参考,具体如下:

1. 数据准备

SQL数据点击此处本站下载。

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(",\n")

else:

f.write("\n")

f.write("{\n")

f.write('"Code":"%s"\n'% p[1])

f.write(',"Name":"%s"\n'% p[2])

f.write(',Nodes:[\n')

citylist=getCity(p[1])

lc = 0

for c in citylist:

if lc>0:

f.write("\t,\n")

else:

f.write("\n")

f.write("\t{\n")

f.write('\t"Code":"%s"\n'% c[1])

f.write('\t,"Name":"%s"\n'% c[2])

f.write('\t,Nodes:[\n')

arealist = getAreas(c[1])

la = 0

for a in arealist:

if la>0:

f.write("\t\t,\n")

else:

f.write("\n")

f.write("\t\t{\n")

f.write('\t\t"Code":"%s"\n'% a[1])

f.write('\t\t,"Name":"%s"\n'% a[2])

f.write("\t\t}\n")

la += 1

f.write("\t]\n")

f.write("\t}\n")

lc += 1

f.write("]\n")

f.write("}\n")

lp += 1

f.write("]\n")

if __name__ == '__main__':

path=createFileJson()

writeJson(path)

3.生成预览

2018817121832344.png?201871712194

PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

希望本文所述对大家Python程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值