Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
? ? ? ??前文中我們把網絡爬蟲爬取的數據保存為JSON格式,但為了能夠更方便地處理數據。我們希望把這些數據導入到MySQL數據庫中。phpMyadmin能夠把MySQL數據庫中的數據導出為JSON格式文件,但卻不能把JSON格式文件導入到MySQL數據庫。為了實現這個目標,能夠編寫Python腳本將JSON格式數據轉換為SQL語句以便導入MySQL數據庫。
JSON文件tencent.json部分內容:
{"recruitNumber": "1", "name": "SD10-FPS俄語游戲海外PM(深圳)", "detailLink": "http://hr.tencent.com/position_detail.php?id=9587&keywords=&tid=0&lid=0", "publishTime": "2013-11-13", "catalog": "產品/項目類", "workLocation": "深圳"}
{"recruitNumber": "2", "name": "HY2-互動娛樂游戲網游財產安全運營專員(深圳)", "detailLink": "http://hr.tencent.com/position_detail.php?id=9482&keywords=&tid=0&lid=0", "publishTime": "2013-11-28", "catalog": "產品/項目類", "workLocation": "深圳"}
在phpMyadmin中創建數據庫及表結構:
CREATE DATABASE itzhaopin;
CREATE TABLE IF NOT EXISTS `tencent` (`id` int(11) NOT NULL auto_increment,`name` varchar(512) ?default NULL,`catalog` varchar(64) default NULL,`workLocation` varchar(64) default NULL,`recruitNumber` varchar(64) default NULL,`detailLink` varchar(1024) default NULL,`publishTime` varchar(64) default NULL,PRIMARY KEY (`ID`) )?ENGINE=MyISAM ?DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
編寫Python腳本json2sql.py將JSON格式數據轉換為SQL語句:
#-*- coding: UTF-8 -*- import jsondata = [] with open('itzhaopin/tencent.json') as f:for line in f:data.append(json.loads(line))#print json.dumps(data, ensure_ascii=False)str = "\r\n" 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','%s');\r\n" % (item['name'],item['catalog'],item['workLocation'],item['recruitNumber'],item['detailLink'],item['publishTime'])import codecs file_object = codecs.open('tencent.sql', 'w' ,"utf-8") file_object.write(str) file_object.close() print "success"
運行該python腳本。在當前文件夾下將生成一個名為tencent.sql的文件。在phpMyadmin中導入并運行該文件,爬蟲抓取的數據將導入MySQL數據庫。
?
轉載于:https://www.cnblogs.com/brucemengbm/p/6790963.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Python将JSON格式数据转换为SQL语句以便导入MySQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Espruino】NO.12 加速度传
- 下一篇: c结构体里的数组与指针