用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列表与元组详解实例
Nov 01 Python
python实现获取序列中最小的几个元素
Sep 25 Python
Python开发如何在ubuntu 15.10 上配置vim
Jan 25 Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 Python
python自动裁剪图像代码分享
Nov 25 Python
基于Python中capitalize()与title()的区别详解
Dec 09 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
深入了解Django View(视图系统)
Jul 23 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
python中count函数简单用法
Jan 05 Python
在pytorch中对非叶节点的变量计算梯度实例
Jan 10 Python
Pandas实现一列数据分隔为两列
May 18 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
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
2013/06/02 PHP
解决cPanel无法安装php5.2.17
2014/06/22 PHP
PHP中ltrim()函数的用法与实例讲解
2019/03/28 PHP
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
js运动事件函数详解
2016/10/21 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
探索Javascript中this的奥秘
2016/12/11 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
微信小程序Page中data数据操作和函数调用方法
2019/05/08 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
Python中使用gzip模块压缩文件的简单教程
2015/04/08 Python
Python第三方库的安装方法总结
2016/06/06 Python
Python 变量类型详解
2018/10/10 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
TUMI澳大利亚网站:美国旅行箱包品牌
2017/03/27 全球购物
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
水电工程师岗位职责
2015/02/13 职场文书
农村党员干部承诺书
2015/05/04 职场文书
招商银行收入证明
2015/06/17 职场文书
图文详解Nginx版本平滑升级方案
2021/09/15 Servers
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技
尝试使用Python爬取城市租房信息
2022/04/12 Python
mysql查找连续出现n次以上的数字
2022/05/11 MySQL