Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
2017-02-12 20:57
741 查看
前文中我们把网络爬虫爬取的数据保存为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
CREATE DATABASE itzhaopin;
[sql] view
plain copy
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语句:
[python] view
plain copy
#-*- coding: UTF-8 -*-
import json
data = []
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数据库。
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
CREATE DATABASE itzhaopin;
[sql] view
plain copy
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语句:
[python] view
plain copy
#-*- coding: UTF-8 -*-
import json
data = []
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数据库。
相关文章推荐
- Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
- Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
- python将json格式数据转换为insert into语句导入mysql数据库
- python将json格式的数据转换成文本格式的数据或sql文件
- 通过Python将MongoDB导出的json数据转换成Mysql的insert语句导入
- python:sql建表语句转换为json
- phpmyadmin里面导入sql语句格式的大量数据的方法
- 利用python将json数据转换为csv格式
- 统计:后台通过查询数据表(该表存放统计的sql语句)返回规定格式的json数据
- python将mysql数据库的数据转换为json数据
- django-将数据库数据转换成JSON格式(ORM和SQL两种情况)
- phpmyadmin里面导入sql语句格式的大量数据的方法
- MySQL批量导入数据SQL语句(CSV数据文件格式)
- mysql数据库语句 的case when用法,以及数据替换,字符串拼接,时间格式转换的用法
- Sqoop1.4.4使用SQL语句形式将MySQL数据库表中数据导入到HDFS中
- python将json格式的数据转换成文本格式的数据或sql文件
- 使用python将mysql数据库的数据转换为json数据
- Python操作Mysql数据库时SQL语句的格式问题
- Python实现把json格式转换成文本或sql文件
- 关于Python操作Mysql数据库时SQL语句的格式问题(mysql语句中的双引号问题)