用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字典序问题实例
Sep 26 Python
python实现的文件同步服务器实例
Jun 02 Python
python实现简单购物商城
May 21 Python
python3.5使用tkinter制作记事本
Jun 20 Python
Python3实现抓取javascript动态生成的html网页功能示例
Aug 22 Python
Python实现的排列组合计算操作示例
Oct 13 Python
pyqt5实现登录界面的模板
May 30 Python
将python文件打包成EXE应用程序的方法
May 22 Python
python如何实现代码检查
Jun 28 Python
python numpy--数组的组合和分割实例
Feb 24 Python
基于python实现操作redis及消息队列
Aug 27 Python
在pycharm创建scrapy项目的实现步骤
Dec 01 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
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
php 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
php实现登录页面的简单实例
2019/09/29 PHP
js禁止回车提交表单的示例代码
2013/12/23 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
JavaScript取得键盘按下方向键是哪个的方法
2015/08/04 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
Javascript 跨域知识详细介绍
2016/10/30 Javascript
React简单介绍
2017/05/24 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
JavaScript数组常用的增删改查与其他属性详解
2020/10/13 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
python直接获取API传递回来的参数方法
2018/12/17 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
python 两个数据库postgresql对比
2019/10/21 Python
python爬虫爬取幽默笑话网站
2019/10/24 Python
CSS3 border-image详解、应用及jQuery插件
2011/08/29 HTML / CSS
美国知名的时尚购物网站:Anthropologie
2016/12/22 全球购物
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
《骑牛比赛》教后反思
2014/04/22 职场文书
法人委托书范本格式
2014/09/15 职场文书
商务宴会祝酒词
2015/08/11 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
导游词之青城山景区
2019/09/27 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android