用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基于scrapy采集数据时使用代理服务器的方法
Apr 16 Python
基于Python实现的百度贴吧网络爬虫实例
Apr 17 Python
Pythont特殊语法filter,map,reduce,apply使用方法
Feb 27 Python
python3读取MySQL-Front的MYSQL密码
May 03 Python
Python实现小数转化为百分数的格式化输出方法示例
Sep 20 Python
python中的set实现不重复的排序原理
Jan 24 Python
python解决pandas处理缺失值为空字符串的问题
Apr 08 Python
Python unittest模块用法实例分析
May 25 Python
Django 中自定义 Admin 样式与功能的实现方法
Jul 04 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
Dec 09 Python
Python进阶之迭代器与迭代器切片教程
Jan 29 Python
Python如何操作office实现自动化及win32com.client的运用
Apr 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
php 判断数组是几维数组
2013/03/20 PHP
给ECShop添加最新评论
2015/01/07 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
js字符串转成JSON
2013/11/07 Javascript
Node.js中创建和管理外部进程详解
2014/08/16 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
javascript入门教程基础篇
2015/11/16 Javascript
Angular设置title信息解决SEO方面存在问题
2016/08/19 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
vue2.0 keep-alive最佳实践
2017/07/06 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
angular-tree-component的使用详解
2018/07/30 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
Python挑选文件夹里宽大于300图片的方法
2015/03/05 Python
python Opencv将图片转为字符画
2021/02/19 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
使用keras根据层名称来初始化网络
2020/05/21 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
送给他或她的礼物:FUN.com
2018/08/17 全球购物
Moda Operandi官网:美国奢侈品电商,海淘秀场T台同款
2020/05/26 全球购物
给老师的一封建议书
2014/03/13 职场文书
毕业评语大全
2014/05/04 职场文书
小学生植树节活动总结
2014/07/04 职场文书
商场父亲节活动方案
2014/08/27 职场文书
车间主任岗位职责
2015/02/03 职场文书
工地材料员岗位职责
2015/04/11 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
关于做家务的心得体会
2016/01/23 职场文书
React列表栏及购物车组件使用详解
2021/06/28 Javascript