zoukankan      html  css  js  c++  java
  • 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 = "
    "
    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');
    " % (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数据库。

     





  • 相关阅读:
    坐标变化
    labelme VOC
    threejs物体设置中心坐标
    IfcProjectOrderTypeEnum
    IfcCostItemTypeEnum
    利用Mono.Cecil动态修改程序集来破解商业组件(仅用于研究学习)
    依赖注入框架Autofac的简单使用
    阿里技术嘉年华官网上线啦!
    Silverlight 4以下版本模拟鼠标双击事件
    iOS学习系列 利用ASIHTTPRequest实现异步队列
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6790963.html
Copyright © 2011-2022 走看看