用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字典get()方法用法分析
Apr 17 Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 Python
Django在win10下的安装并创建工程
Nov 20 Python
MAC中PyCharm设置python3解释器
Dec 15 Python
ubuntu中配置pyqt4环境教程
Dec 27 Python
JavaScript实现一维数组转化为二维数组
Apr 17 Python
Python之list对应元素求和的方法
Jun 28 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
Oct 29 Python
基于python3监控服务器状态进行邮件报警
Oct 19 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
Jun 10 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 Python
如何用python反转图片,视频
Apr 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
laravel实现于语言包的完美切换方法
2019/09/29 PHP
js 动态选中下拉框
2009/11/26 Javascript
javascript 跨浏览器开发经验总结(五) js 事件
2010/05/19 Javascript
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
2013/05/07 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
基于JavaScript表单脚本(详解)
2017/10/18 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
[01:53]DOTA2超级联赛专访Zhou 五年职业青春成长
2013/05/29 DOTA
在Python中使用Neo4j数据库的教程
2015/04/16 Python
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
python实现多进程通信实例分析
2019/09/01 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
python 如何引入协程和原理分析
2020/11/30 Python
高街生活方式全球在线商店:AZBRO
2017/08/26 全球购物
大学生应聘自荐信
2013/10/11 职场文书
毕业班联欢会主持词
2014/03/27 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
退税申请报告怎么写
2015/05/18 职场文书