用Python将mysql数据导出成json的方法


Posted in Python onAugust 21, 2018

1、相关说明

此脚本可以将Mysql的数据导出成Json格式,导出的内容可以进行select查询确定。

数据传入参数有:dbConfigName, selectSql, jsonPath, fileName。

依赖的库有:MySQLdb、json,尤其MySQLdb需要事先安装好。

2、Python脚本及测试示例

/Users/nisj/PycharmProjects/BiDataProc/oldPythonBak/mysqlData2json.py

# -*- coding=utf-8 -*-
import MySQLdb
import warnings
import datetime
import sys
import json
reload(sys)
sys.setdefaultencoding('utf8')
 
warnings.filterwarnings("ignore")
 
mysqlDb_config = {
  'host': 'MysqlHostIp',
  'user': 'MysqlUser',
  'passwd': 'MysqlPass',
  'port': 50512,
  'db': 'Tv_event'
}
 
today = datetime.date.today()
yesterday = today - datetime.timedelta(days=1)
tomorrow = today + datetime.timedelta(days=1)
 
def getDB(dbConfigName):
  dbConfig = eval(dbConfigName)
  try:
    conn = MySQLdb.connect(host=dbConfig['host'], user=dbConfig['user'], passwd=dbConfig['passwd'],
                port=dbConfig['port'])
    conn.autocommit(True)
    curr = conn.cursor()
    curr.execute("SET NAMES utf8");
    curr.execute("USE %s" % dbConfig['db']);
 
    return conn, curr
  except MySQLdb.Error, e:
    print "Mysql Error %d: %s" % (e.args[0], e.args[1])
    return None, None
 
def mysql2json(dbConfigName, selectSql, jsonPath, fileName):
  conn, curr = getDB(dbConfigName)
  curr.execute(selectSql)
  datas = curr.fetchall()
  fields = curr.description
 
  column_list = []
  for field in fields:
    column_list.append(field[0])
 
  with open('{jsonPath}{fileName}.json'.format(jsonPath=jsonPath, fileName=fileName), 'w+') as f:
    for row in datas:
      result = {}
      for fieldIndex in range(0, len(column_list)):
        result[column_list[fieldIndex]] = str(row[fieldIndex])
      jsondata=json.dumps(result, ensure_ascii=False)
      f.write(jsondata + '\n')
  f.close()
 
  curr.close()
  conn.close()
 
# Batch Test
dbConfigName = 'mysqlDb_config'
selectSql = "SELECT uid,name,phone_num,qq,area,created_time FROM match_apply where match_id = 83 order by created_time desc;"
jsonPath = '/Users/nisj/Desktop/'
fileName = 'mysql2json'
mysql2json(dbConfigName, selectSql, jsonPath, fileName)

以上这篇用Python将mysql数据导出成json的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现从web抓取文档的方法
Sep 26 Python
详解Django中Request对象的相关用法
Jul 17 Python
Python中特殊函数集锦
Jul 27 Python
好的Python培训机构应该具备哪些条件
May 23 Python
python单例模式实例解析
Aug 28 Python
Python Django框架单元测试之文件上传测试示例
May 17 Python
解决python xx.py文件点击完之后一闪而过的问题
Jun 24 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
python 按钮点击关闭窗口的实现
Mar 04 Python
python爬虫实现POST request payload形式的请求
Apr 30 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
Jun 03 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 Python
windows下python 3.6.4安装配置图文教程
Aug 21 #Python
Python多进程与服务器并发原理及用法实例分析
Aug 21 #Python
Python socket实现的简单通信功能示例
Aug 21 #Python
Python多进程原理与用法分析
Aug 21 #Python
python安装twisted的问题解析
Aug 21 #Python
使用python的pandas库读取csv文件保存至mysql数据库
Aug 20 #Python
Python多线程原理与用法详解
Aug 20 #Python
You might like
php&java(二)
2006/10/09 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
PHP通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
Node.js 回调函数实例详解
2017/07/06 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
vue实现下拉加载其实没那么复杂
2019/08/13 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
[00:16]热血竞技场
2019/03/06 DOTA
Python新手学习装饰器
2020/06/04 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
MONNIER Frères英国官网:源自巴黎女士奢侈品配饰电商平台
2018/12/06 全球购物
物流管理专业大学生自荐信
2013/10/04 职场文书
灰雀教学反思
2014/04/28 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
付款委托书范本
2014/10/05 职场文书
继承权公证书范本
2015/01/23 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
python开发制作好看的时钟效果
2022/05/02 Python