本文实例讲述了Python SQL查询并生成json文件操作。分享给大家供大家参考,具体如下:
1. 数据准备
SQL数据点击此处本站下载。
2. python代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
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程序设计有所帮助。
原文链接:https://www.cnblogs.com/linsu/p/8808914.html