用Python将mysql数据导出成json的方法

 更新时间:2018年08月21日 13:54:47   作者:BabyFish13  
今天小编就为大家分享一篇用Python将mysql数据导出成json的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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变量和数据类型和数据类型的转换

    这篇文章主要介绍了Python变量和数据类型和数据类型的转换,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 浅谈python中str字符串和unicode对象字符串的拼接问题

    浅谈python中str字符串和unicode对象字符串的拼接问题

    今天小编就为大家分享一篇浅谈python中str字符串和unicode对象字符串的拼接问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 快速解决vue.js 模板和jinja 模板冲突的问题

    快速解决vue.js 模板和jinja 模板冲突的问题

    今天小编就为大家分享一篇快速解决vue.js 模板和jinja 模板冲突的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 基于SpringBoot构造器注入循环依赖及解决方式

    基于SpringBoot构造器注入循环依赖及解决方式

    这篇文章主要介绍了基于SpringBoot构造器注入循环依赖及解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python 实现链表实例代码

    Python 实现链表实例代码

    这篇文章主要介绍了Python 实现链表实例代码的相关资料,需要的朋友可以参考下
    2017-04-04
  • Python下载指定页面上图片的方法

    Python下载指定页面上图片的方法

    这篇文章主要介绍了Python下载指定页面上图片的方法,涉及Python的正则匹配、URL及文件操作相关技巧,需要的朋友可以参考下
    2016-05-05
  • python自动化之如何利用allure生成测试报告

    python自动化之如何利用allure生成测试报告

    这篇文章主要给大家介绍了关于python自动化之如何利用allure生成测试报告的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 安装python及pycharm的教程图解

    安装python及pycharm的教程图解

    本文通过图文并茂的形式给大家介绍了安装python及pycharm的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • 深度解读Python如何实现dbscan算法

    深度解读Python如何实现dbscan算法

    DBScan 是密度基于空间聚类,它是一种基于密度的聚类算法,其与其他聚类算法(如K-Means)不同的是,它不需要事先知道簇的数量。本文就来带大家了解一下Python是如何实现dbscan算法,感兴趣的可以了解一下
    2023-02-02
  • python 简单照相机调用系统摄像头实现方法 pygame

    python 简单照相机调用系统摄像头实现方法 pygame

    今天小编就为大家分享一篇python 简单照相机调用系统摄像头实现方法 pygame,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08

最新评论