1.数据准备

数据下载

2.python代码

  1. import datetime
  2. import os
  3. import mssqlhelper
  4.  
  5. ms = mssqlhelper.MSSQL(host="192.168.0.108", user="sa", pwd="sa", db="ComPrject")
  6. def getAreas(cityid):
  7. arealist=ms.ExecQuery("select *From dbo.areas where cityid='%s' " % cityid)
  8. return arealist
  9.  
  10. def getCity(provinces):
  11. citylist=ms.ExecQuery("select *From dbo.cities where provinceid='%s'" % provinces)
  12. return citylist
  13.  
  14. def getProvinces():
  15. provlist=ms.ExecQuery("select *From dbo.provinces")
  16. return provlist
  17.  
  18. def createFileJson():
  19. date=datetime.datetime.now().strftime('%Y-%m-%d')
  20. path=date+'-provinces.json'
  21. return path
  22.  
  23. def writeJson(path):
  24. provlist=getProvinces()
  25.  
  26. with open(path,"w+",encoding="utf-8") as f:
  27. f.write("[")
  28. lp = 0
  29. for p in provlist:
  30. if lp>0:
  31. f.write(",\n")
  32. else:
  33. f.write("\n")
  34. f.write("{\n")
  35. f.write('"Code":"%s"\n'% p[1])
  36. f.write(',"Name":"%s"\n'% p[2])
  37. f.write(',Nodes:[\n')
  38. citylist=getCity(p[1])
  39. lc = 0
  40. for c in citylist:
  41. if lc>0:
  42. f.write("\t,\n")
  43. else:
  44. f.write("\n")
  45. f.write("\t{\n")
  46. f.write('\t"Code":"%s"\n'% c[1])
  47. f.write('\t,"Name":"%s"\n'% c[2])
  48. f.write('\t,Nodes:[\n')
  49. arealist = getAreas(c[1])
  50. la = 0
  51. for a in arealist:
  52. if la>0:
  53. f.write("\t\t,\n")
  54. else:
  55. f.write("\n")
  56. f.write("\t\t{\n")
  57. f.write('\t\t"Code":"%s"\n'% a[1])
  58. f.write('\t\t,"Name":"%s"\n'% a[2])
  59. f.write("\t\t}\n")
  60. la += 1
  61. f.write("\t]\n")
  62. f.write("\t}\n")
  63. lc += 1
  64. f.write("]\n")
  65. f.write("}\n")
  66. lp += 1
  67. f.write("]\n")
  68.  
  69. if __name__ == '__main__':
  70. path=createFileJson()
  71. 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. 如果全球的沙子都对你发起DDoS攻击,如何破?

    IPv6已来 2016年6月1日开始,苹果规定所有提交至AppStore的应用必须兼容IPv6-only标准.可以预计,2018年底会有大量互联网资源.上网用户使用IPv6协议.这意味着,如果一个互联 ...

  2. PHP rewinddir() 函数

    打开一个目录,列出其中的文件,充值目录句柄,重新列出其中的文件,然后关闭: <?php$dir = "/images/"; // Open a directory, and ...

  3. SysTick功能总结

    一.初始化SysTick 按1ms来设置systick,也可以除以1000000.按1us来设置 SysTick_Config(SystemCoreClock / 1000); //SysTick开启 ...

  4. 木棍加工(dp,两个参数的导弹拦截问题)

    题目描述 一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的.棍子可以被一台机器一个接一个地加工.机器处理一根棍子之前需要准备时间.准备时间是这样定义的:     第一根棍子的准备时间为1分钟:   ...

  5. SCP-bzoj-1058

    项目编号:bzoj-1058 项目等级:Safe 项目描述: 戳这里 特殊收容措施: STL好题.维护两个set,一个存储数列里相邻元素差,另一个存储整个数列. 对于MIN_SORT_GAP操作,维护 ...

  6. mysql5.7-my.cnf

    [client] port = socket=/tmp/my3306.sock [mysql] no-auto-rehash [mysqld] #########base############ us ...

  7. MySQL教程和使用手册

    MySQL 教程 MySQL 教程.MySQL 安装.MySQL 管理.MySQL PHP 语法.MySQL 连接.MySQL 创建数据库.MySQL 删除数据库.MySQL 选择数据库.MySQL ...

  8. 兼容iphone x刘海的正确姿势

    在 ios 11 中我们可以使用 viewport-fit=cover + safe-area-inset-*. 那么是不是 ios11 以下就用不了这些了呢?是的,但你见过 iphone x+ 有 ...

  9. spring mvc 程序

    首先我们的界面在返回的时候回根据我们的配置信息进行路径的查找  然后会识别我们的控制器返回的字符串(其实就是界面的名字)而找到界面的信息,eg:如果我们返回的是success那么就会去找我们的WEB- ...

  10. Java学习之抽象类

    抽象类特点: 1.抽象方法必须定义在抽象类中2.abstract关键字修饰:只能修饰类和方法3.抽象类不能实例化4.抽象类中的方法要被使用,必须由子类重写所有的抽象方法,实例化其子类 如果子类只重写部 ...