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中创建数据库及表结构:

[sql]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. CREATE DATABASE itzhaopin;  

[sql]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. CREATE TABLE IF NOT EXISTS `tencent` (  
  2.   `id` int(11) NOT NULL auto_increment,  
  3.   `namevarchar(512)  default NULL,  
  4.   `catalog` varchar(64) default NULL,  
  5.   `workLocation` varchar(64) default NULL,  
  6.   `recruitNumber` varchar(64) default NULL,  
  7.   `detailLink` varchar(1024) default NULL,  
  8.   `publishTime` varchar(64) default NULL,  
  9.   PRIMARY KEY (`ID`)  
  10. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;  

编写Python脚本 json2sql.py 将JSON格式数据转换为SQL语句:

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. #-*- coding: UTF-8 -*-  
  2. import json  
  3.   
  4. data = []  
  5. with open('itzhaopin/tencent.json') as f:  
  6.     for line in f:  
  7.         data.append(json.loads(line))  
  8.   
  9. #print json.dumps(data, ensure_ascii=False)  
  10.   
  11. str = "\r\n"  
  12. for item in data:  
  13.     #print json.dumps(item)  
  14.     str = str + "insert into tencent(name,catalog,workLocation,recruitNumber,detailLink,publishTime) values "  
  15.     str = str + "('%s','%s','%s','%s','%s','%s');\r\n" % (item['name'],item['catalog'],item['workLocation'],item['recruitNumber'],item['detailLink'],item['publishTime'])  
  16.   
  17. import codecs  
  18. file_object = codecs.open('tencent.sql''w' ,"utf-8")  
  19. file_object.write(str)  
  20. file_object.close()  
  21. print "success"  

执行该python脚本,在当前目录下将生成一个名为tencent.sql的文件,在phpMyadmin中导入并执行该文件,爬虫抓取的数据将导入MySQL数据库。

 




评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值