Python實現(xiàn)把json格式轉(zhuǎn)換成文本或sql文件
python如何將json格式的數(shù)據(jù)快速的轉(zhuǎn)化成指定格式的數(shù)據(jù)呢?或者轉(zhuǎn)換成sql文件?
下面的例子是將json格式的數(shù)據(jù)準(zhǔn)換成以#_#分割的文本數(shù)據(jù),也可用于生成sql文件。
[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里一次性寫入文件。可以考慮逐行寫入,或者到達一定程度時批量寫入。
另外:python通過strip(rm)替換字符串,當(dāng)rm為空時,默認(rèn)刪除空白符(包括'\n', '\r', '\t', ' ')。
測試:
json格式的數(shù)據(jù)
[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"}
運行python json2txt.py
[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)題
相關(guān)文章
django使用定時任務(wù)django_apscheduler的實現(xiàn)
定時任務(wù)無論是個人開發(fā)還是企業(yè)業(yè)務(wù)都是需要的,本文主要介紹了django使用定時任務(wù)django_apscheduler的實現(xiàn),減少請求時需要用戶等待的時間,感興趣的可以了解一下2021-08-08Python如何使用Eel和HTML開發(fā)桌面應(yīng)用
這篇文章主要介紹了Python使用Eel和HTML開發(fā)桌面應(yīng)用問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01python中scrapy處理項目數(shù)據(jù)的實例分析
在本篇文章里小編給大家整理了關(guān)于python中scrapy處理項目數(shù)據(jù)的實例分析內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-11-11