用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高并发异步服务器核心库forkcore使用方法
Nov 26 Python
初步解析Python中的yield函数的用法
Apr 03 Python
python判断图片宽度和高度后删除图片的方法
May 22 Python
python itchat实现微信好友头像拼接图的示例代码
Aug 14 Python
Python3.6简单操作Mysql数据库
Sep 12 Python
python查看模块安装位置的方法
Oct 16 Python
Python Process多进程实现过程
Oct 22 Python
python+selenium+PhantomJS抓取网页动态加载内容
Feb 25 Python
Python递归调用实现数字累加的代码
Feb 25 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
Feb 29 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
Apr 13 Python
浅析Python打包时包含静态文件处理方法
Jan 15 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经典的给图片加水印程序
2006/12/06 PHP
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
Look And Say 序列php实现代码
2011/05/22 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
php中序列化与反序列化详解
2017/02/13 PHP
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
2015/07/29 Javascript
对象题目的一个坑 理解Javascript对象
2015/12/22 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
jQuery模仿单选按钮选中效果
2016/06/24 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
python实现手势识别的示例(入门)
2020/04/15 Python
Python pymsql模块的使用
2020/09/07 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
家具促销活动方案
2014/02/16 职场文书
提拔干部考察材料
2014/05/26 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python