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(",\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.生成预览

Python 生成json文件的更多相关文章

  1. Python生成pyc文件

    Python生成pyc文件 pyc文件是py文件编译后生成的字节码文件(byte code).pyc文件经过python解释器最终会生成机器码运行.所以pyc文件是可以跨平台部署的,类似Java的.c ...

  2. python 生成json格式文件,并存储到手机上

    上代码 #!/usr/bin/env python # -*- encoding: utf-8 -*- import json import os import random "" ...

  3. python 读写 json文件

    json的优势: 1. 数据体积方面. JSON相对于XML来讲,数据的体积小,传递的速度更快些. 2. 传输速度方面. JSON的速度要远远快于XML 3. 数据格式 数据格式比较简单, 易于读写, ...

  4. python解析json文件之简介

    一.JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition ...

  5. python中json文件处理涉及的四个函数json.dumps()和json.loads()、json.dump()和json.load()的区分

    一.概念理解 1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行js ...

  6. windows平台 python生成 pyd文件

    Python的文件类型介绍: .py       python的源代码文件 .pyc     Python源代码import后,编译生成的字节码 .pyo     Python源代码编译优化生成的字节 ...

  7. VNPY加密教程(Python生成pyd文件)

    安装成功之后,再修改设置.让Cython可以找到vcarsall.bat.此处有两种方案.(我采用方案1,亲测可用.方案2未测试,看似可用.) 方案1:修改Python安装目录的文件设置 window ...

  8. python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. 1.json.dumps()和json.loads()是json ...

  9. Python生成pyd文件

    Python的脚本文件是开源的,量化策略的安全性没有保障.因此需要保护源码.那么要对Python代码进行混淆.加密保护. 混淆代码,我准备使用pyminifier.而加密处理,就比较麻烦. Pytho ...

随机推荐

  1. shell变量,字符串,数组

    一.shell变量定义: 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头: 中间不能有空格,可以使用下划线: 不能使用标点符号: 不能使用bash里的关键字. 变量使用: 使用一个定义过的 ...

  2. Database基础(七):部署集群基础环境、MySQL-MMM架构部署、MySQL-MMM架构使用

    一.部署集群基础环境 目标: 本案例要求为MySQL集群准备基础环境,完成以下任务操作: 数据库授权 部署MySQL双主多从结构 配置本机hosts解析记录 方案: 使用4台RHEL 6虚拟机,如下图 ...

  3. L1、L2损失函数、Huber损失函数

    L1范数损失函数,也被称为最小绝对值偏差(LAD),最小绝对值误差(LAE) L2范数损失函数,也被称为最小平方误差(LSE) L2损失函数 L1损失函数 不是非常的鲁棒(robust) 鲁棒 稳定解 ...

  4. Tomcat集群搭建超详细(apache+mod_jk+tomcat)

    TOMCAT集群 目录 TOMCAT集群 1 1 集群 1 1.1 什么是集群 1 1.2 集群的特性 1 1.3 集群的分类 1 1.4 TOMCAT集群配置的优缺点 2 1.5 APACHE+TO ...

  5. Java关于Math类的三个取整方法

    0x01 在java的Math类中有三个关于浮点数取整数的方法,分别是ceil (向上取整) floor(向下取整) round(四舍五入) 三个方法 0x02 ceil 向上取整,取整后总是比原来的 ...

  6. Angularjs实现简单的登陆框

    ​ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...

  7. 运维 05 Shell基本命令

    Shell基本命令   前言 前面咱们已经成功安装了Linux系统--centos7,那么现在跟着超哥奔向Linux的大门. Linux命令行的组成结构 [root@oldboy_python ~]# ...

  8. nodeType介绍及应用示例

    一,DOM中的节点类型介绍 DOM将一份文档抽象为一棵树,而树又由众多不同类型的节点构成. 元素节点是DOM中的最小单位节点,它包括了各种标签,比如表示段落的p,表示无序列表的ul等. 文本节点总是被 ...

  9. jmeter 后台运行 setsid bin/jmeter -n -t .jmx文件 -l .jtl文件

    备注: 另外,在Linux下我们有时候希望线程可以在后台运行,这样我们关闭当前连接后,线程依然可以运行,这里提供一个将 jmeter命令设置为后台线程的方法. 使用setsid命令:  setsid  ...

  10. Tomcat启动脚本(2)catalina.bat

    @echo off rem Licensed to the Apache Software Foundation (ASF) under one or more rem contributor lic ...