Python将JSON格式数据转换为SQL语句以便导入MySQL数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 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数据库的主要内容,如果未能解决你的问题,请参考以下文章

前端json转sql

如何在 Apache nifi 中配置 convertrecord 处理器,以便将 JSON 转换为 AVRO 格式

python 使用eval() 可以将json格式的数据,转换为原始数据

如何将数据的 JSON 格式转换为 GraphQL 查询格式

需求:一个页面中需要用到多个字典数据。用于下拉选项,同时,需要将其保存为json格式。以便于key,value的相互转换。记录在实现过程中踩的坑

需求:一个页面中需要用到多个字典数据。用于下拉选项,同时,需要将其保存为json格式。以便于key,value的相互转换。记录在实现过程中踩的坑