用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 相关文章推荐
详解JavaScript编程中的window与window.screen对象
Oct 26 Python
Pycharm学习教程(1) 定制外观
May 02 Python
使用pycharm设置控制台不换行的操作方法
Jan 19 Python
Pyqt QImage 与 np array 转换方法
Jun 27 Python
Python实现某论坛自动签到功能
Aug 20 Python
Win10下python 2.7与python 3.7双环境安装教程图解
Oct 12 Python
python批量处理txt文件的实例代码
Jan 13 Python
解决pyCharm中 module 调用失败的问题
Feb 12 Python
pycharm 中mark directory as exclude的用法详解
Feb 14 Python
了解一下python内建模块collections
Sep 07 Python
基于Python中Remove函数的用法讨论
Dec 11 Python
Python实现列表拼接和去重的三种方式
Jul 02 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加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
PHP+MySQL 制作简单的留言本
2009/11/02 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
2013/06/03 PHP
Yii学习总结之安装配置
2015/02/22 PHP
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
JQuery勾选指定name的复选框集合并显示的方法
2015/05/18 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
深入学习Python中的上下文管理器与else块
2017/08/27 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
Pytorch 使用CNN图像分类的实现
2020/06/16 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
学习Python需要哪些工具
2020/09/04 Python
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
主要的Ajax框架都有什么
2013/11/14 面试题
土建专业毕业生自荐书
2014/07/04 职场文书
平面设计师岗位职责
2014/09/18 职场文书
计划生育诚信协议书
2014/11/02 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
公司致全体员工的感谢信
2019/06/24 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS