用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 Trie树实现字典排序
Mar 28 Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 Python
python 内置函数filter
Jun 01 Python
python的staticmethod与classmethod实现实例代码
Feb 11 Python
python将excel转换为csv的代码方法总结
Jul 03 Python
让你的Python代码实现类型提示功能
Nov 19 Python
python线程join方法原理解析
Feb 11 Python
python 实现字符串下标的输出功能
Feb 13 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
Feb 28 Python
Keras-多输入多输出实例(多任务)
Jun 22 Python
详解用 python-docx 创建浮动图片
Jan 24 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 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/11/19 PHP
深入了解PHP类Class的概念
2012/06/14 PHP
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
2015/12/19 PHP
微信自定义分享php代码分析
2016/11/24 PHP
php微信开发之关注事件
2018/06/14 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
jQuery 获取select选中值及清除选中状态
2016/12/13 Javascript
JS实现的Unicode编码转换操作示例
2017/04/28 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
微信小程序实现张图片合成为一张并下载
2019/07/16 Javascript
vant时间控件使用方法详解
2020/12/24 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
如何用itertools解决无序排列组合的问题
2017/05/18 Python
Python3计算三角形的面积代码
2017/12/18 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
解决Python二维数组赋值问题
2019/11/28 Python
python多进程重复加载的解决方式
2019/12/13 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
EJB面试题
2015/07/28 面试题
穆斯林的葬礼读书笔记
2015/06/26 职场文书
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL
Go 语言中 20 个占位符的整理
2021/10/16 Golang
MySQL 条件查询的常用操作
2022/04/28 MySQL