python如何將json格式的數(shù)據(jù)快速的轉(zhuǎn)化成指定格式的數(shù)據(jù)呢?或者轉(zhuǎn)換成sql文件?
下面的例子是將json格式的數(shù)據(jù)準(zhǔn)換成以#_#分割的文本數(shù)據(jù),也可用于生成sql文件。
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
|
[root@bogon tutorial] # vi json2txt.py #-*- coding: UTF-8 -*- import json data = [] with open ( './tencent_test.json' ) as f: for line in f: data.append(json.loads(line)) #print json.dumps(data, ensure_ascii=False) import codecs file_object = codecs. open ( 'tencent.txt' , 'w' , "utf-8" ) str = "\r\n" splitstr = "#_#" for item in data: #print json.dumps(item) #str = str + "insert into tencent(name,catalog,workLocation,recruitNumber,detailLink,publishTime) values " #str = str + "'%s','%s','%s','%s','%s'\r\n" % (item['parentTitle'],item['parentLink'],item['author'],item['link'],item['title']) #print json.loads(item['author']) + "\r\n" str = "%s#_#%s#_#%s#_#%s#_#%s\r\n" % (item[ 'parentTitle' ],item[ 'parentLink' ],item[ 'author' ],item[ 'link' ],item[ 'title' ].strip()) file_object.write(str) #import codecs #file_object = codecs.open('tencent.txt', 'w' ,"utf-8") #file_object.write(str) file_object.close() print "success" |
注:如果數(shù)據(jù)量過大不宜全部放在str里一次性寫入文件。可以考慮逐行寫入,或者到達(dá)一定程度時(shí)批量寫入。
另外:python通過strip(rm)替換字符串,當(dāng)rm為空時(shí),默認(rèn)刪除空白符(包括'\n', '\r', '\t', ' ')。
測試:
json格式的數(shù)據(jù)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[root@bogon tutorial] # vi tencent_test.json { "author" : "作者" , "parentTitle" : "父標(biāo)題" , "title" : "標(biāo)題" , "pageUrl" : "pageurl" , "link" : "linkurl" , "parentLink" : "parenturl" } { "author" : "作者" , "parentTitle" : "父標(biāo)題" , "title" : "標(biāo)題" , "pageUrl" : "pageurl" , "link" : "linkurl" , "parentLink" : "parenturl" } { "author" : "作者" , "parentTitle" : "父標(biāo)題" , "title" : "標(biāo)題" , "pageUrl" : "pageurl" , "link" : "linkurl" , "parentLink" : "parenturl" } { "author" : "作者" , "parentTitle" : "父標(biāo)題" , "title" : "標(biāo)題" , "pageUrl" : "pageurl" , "link" : "linkurl" , "parentLink" : "parenturl" } { "author" : "作者" , "parentTitle" : "父標(biāo)題" , "title" : "標(biāo)題" , "pageUrl" : "pageurl" , "link" : "linkurl" , "parentLink" : "parenturl" } { "author" : "作者" , "parentTitle" : "父標(biāo)題" , "title" : "標(biāo)題" , "pageUrl" : "pageurl" , "link" : "linkurl" , "parentLink" : "parenturl" } { "author" : "作者" , "parentTitle" : "父標(biāo)題" , "title" : "標(biāo)題" , "pageUrl" : "pageurl" , "link" : "linkurl" , "parentLink" : "parenturl" } { "author" : "作者" , "parentTitle" : "父標(biāo)題" , "title" : "標(biāo)題" , "pageUrl" : "pageurl" , "link" : "linkurl" , "parentLink" : "parenturl" } { "author" : "作者" , "parentTitle" : "父標(biāo)題" , "title" : "標(biāo)題" , "pageUrl" : "pageurl" , "link" : "linkurl" , "parentLink" : "parenturl" } { "author" : "作者" , "parentTitle" : "父標(biāo)題" , "title" : "標(biāo)題" , "pageUrl" : "pageurl" , "link" : "linkurl" , "parentLink" : "parenturl" } { "author" : "作者" , "parentTitle" : "父標(biāo)題" , "title" : "標(biāo)題" , "pageUrl" : "pageurl" , "link" : "linkurl" , "parentLink" : "parenturl" } |
運(yùn)行python json2txt.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@bogon tutorial] # python json2txt.py success [root@bogon tutorial] # more tencent.txt 父標(biāo)題 #_#parenturl#_#作者#_#linkurl#_#標(biāo)題 父標(biāo)題 #_#parenturl#_#作者#_#linkurl#_#標(biāo)題 父標(biāo)題 #_#parenturl#_#作者#_#linkurl#_#標(biāo)題 父標(biāo)題 #_#parenturl#_#作者#_#linkurl#_#標(biāo)題 父標(biāo)題 #_#parenturl#_#作者#_#linkurl#_#標(biāo)題 父標(biāo)題 #_#parenturl#_#作者#_#linkurl#_#標(biāo)題 父標(biāo)題 #_#parenturl#_#作者#_#linkurl#_#標(biāo)題 父標(biāo)題 #_#parenturl#_#作者#_#linkurl#_#標(biāo)題 父標(biāo)題 #_#parenturl#_#作者#_#linkurl#_#標(biāo)題 父標(biāo)題 #_#parenturl#_#作者#_#linkurl#_#標(biāo)題 父標(biāo)題 #_#parenturl#_#作者#_#linkurl#_#標(biāo)題 |