用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程序设计入门(2)变量类型简介
Jun 16 Python
Python生成验证码实例
Aug 21 Python
用Python进行TCP网络编程的教程
Apr 29 Python
python中循环语句while用法实例
May 16 Python
Python爬虫之网页图片抓取的方法
Jul 16 Python
对pandas中两种数据类型Series和DataFrame的区别详解
Nov 12 Python
Python实现查找数组中任意第k大的数字算法示例
Jan 23 Python
python设置环境变量的作用和实例
Jul 09 Python
python性能测量工具cProfile使用解析
Sep 26 Python
Python计算不规则图形面积算法实现解析
Nov 22 Python
pyecharts调整图例与各板块的位置间距实例
May 16 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
Feb 24 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
Terran历史背景
2020/03/14 星际争霸
php array_intersect()函数使用代码
2009/01/14 PHP
php设计模式 Visitor 访问者模式
2011/06/28 PHP
PHP 简易输出CSV表格文件的方法详解
2013/06/20 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
简单的三步vuex入门
2018/05/20 Javascript
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
[01:01]2020完美高校联赛(秋)西安落幕
2021/03/11 DOTA
详解Python Socket网络编程
2016/01/05 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
对tensorflow 中tile函数的使用详解
2020/02/07 Python
Python网页解析器使用实例详解
2020/05/30 Python
django使用channels实现通信的示例
2020/10/19 Python
员工自我鉴定范文
2013/10/06 职场文书
满月酒答谢词
2014/01/14 职场文书
后备干部考察材料
2014/02/12 职场文书
绘画专业自荐信范文
2014/02/23 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
解除劳动合同证明书模板
2014/11/20 职场文书
爱心募捐感谢信
2015/01/22 职场文书
中秋节随笔
2015/08/15 职场文书
Android自定义ScrollView实现阻尼回弹
2022/04/01 Java/Android
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏