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数据库的更多相关文章
- sql语句备份/导入 mysql数据库或表命令
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qq1355541448/article/details/30049851
- python中json格式数据输出实现方式
python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...
- 使用node.js编写脚本将JSON数据转换为SQL语句
安装依赖模块 当node.js脚本在运行的时候,需要很多支持模块,这些模块存储在node_modules文件夹中.该脚本在执行过程中需要使用到fs.string-format两个支持模块,作用分别是: ...
- 只显示前几条数据的sql语句写法 七种数据库中Select Top的使用方法
七种数据库中Select Top的使用方法 1. Oracle数据库 SELECT * FROM TABLENAME WHERE ROWNUM <= N 2. Infomix数据库 SELECT ...
- 42.通过原生SQL语句进行操纵mysql数据库
views.py文件中: from django.shortcuts import render # 导入connection模块 from django.db import connection d ...
- sql文件批量导入mysql数据库
有一百多个sql文件肿么破?一行一行地导入数据库肯定是极其愚蠢的做法,但是我差点就这么做了... 网上首先找到的方法是:写一个xxx.sql文件,里边每一行都是source *.sql ...,之后再 ...
- 将excel表格数据转换为sql语句
今天刚从经理那学到的,迫不及待写下来,以后肯定用得上 1.首先是将excel文件另存为csv格式文件 2.在当前行的最后新增一列,输入下面函数(其中表字段因人而异) =CONCATENATE(&quo ...
- 将JSON格式数据转换为javascript对象 JSON.parse()
<html><body><h2>通过 JSON 字符串来创建对象</h3><p>First Name: <span id=" ...
- 转载用sql语句计算出mysql数据库的qps,tps,iops性能指标
本帖最后由 LUK 于 2014-9-21 22:39 编辑 思路: 1 关注MYSQL三个方面的性能指标,分别为query数,transaction数,io请求数 2 在某个时间范围内(例如20秒) ...
随机推荐
- Redis主从复制简单介绍
由于本地环境的使用,所以搭建一个本地的Redis集群,本篇讲解Redis主从复制集群的搭建,使用的平台是Windows,搭建的思路和Linux上基本一致! (精读阅读本篇可能花费您15分钟,略读需5分 ...
- JAVA简易的注册会员系统
public class Login { public static void main(String[] args) { System.out.println("*****欢迎进入注册系统 ...
- 【03】react 之 创建component
React推出后,出于不同的原因先后出现三种定义react组件的方式,殊途同归:具体的三种方式: 函数式定义的无状态组件 es5原生方式React.createClass定义的组件 es6形式的ext ...
- hash function 字符串哈希函数
#include <stdio.h> int hash(const char *str) { ; ;;i++) { if (str[i] == '\0') break; sum += (( ...
- 洛谷 P1174 打砖块
题目描述 小红很喜欢玩一个叫打砖块的游戏,这个游戏的规则如下: 在刚开始的时候,有n行*m列的砖块,小红有k发子弹.小红每次可以用一发子弹,打碎某一列当前处于这一列最下面的那块砖,并且得到相应的得分. ...
- httpclient与webapi
System.Net.Http 是微软推出的最新的 HTTP 应用程序的编程接口, 微软称之为“现代化的 HTTP 编程接口”, 主要提供如下内容: 1. 用户通过 HTTP 使用现代化的 Web S ...
- 转:C#制作ORM映射学习笔记二 配置类及Sql语句生成类
在正式开始实现ORM之前还有一点准备工作需要完成,第一是实现一个配置类,这个很简单的就是通过静态变量来保存数据库的一些连接信息,等同于.net项目中的web.config的功能:第二需要设计实现一个s ...
- IE/FF/Chrome下document.documentElement和document.body的 scrollHeight/scrollTop/clientHeight 以及判断滚动条是否已拉到页面最底部
DTD已声明 IE document.documentElement.scrollHeight 浏览器所有内容高度 ,document.body.scrollHeight 浏览器所有内容高度 docu ...
- AC日记——[ZJOI2009]狼和羊的故事 bzoj 1412
1412 思路: 最小割: 狼作为一个点集a,空领地作为点集b,羊作为点集c: s向a连边,c向t连边,a向b连边,b向b连边,b向c连边: 如何理解最小割? a,c之间割掉最少的路径(栅栏)使其没有 ...
- C++多线程(POSIX)
#include<iostream> #include<pthread.h> #include<ctime> #include<windows.h> u ...