用Python將mysql數(shù)據導出成json的方法
1、相關說明
此腳本可以將Mysql的數(shù)據導出成Json格式,導出的內容可以進行select查詢確定。
數(shù)據傳入參數(shù)有: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數(shù)據導出成json的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python基于聚類算法實現(xiàn)密度聚類(DBSCAN)計算【測試可用】
這篇文章主要介紹了Python基于聚類算法實現(xiàn)密度聚類(DBSCAN)計算,結合實例形式分析了聚類算法的相關概念、原理及使用聚類算法進行密度聚類計算的相關操作技巧,需要的朋友可以參考下2018-12-12
matplotlib grid()設置網格線外觀的實現(xiàn)
這篇文章主要介紹了matplotlib grid()設置網格線外觀的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02
Python利用tkinter實現(xiàn)一個簡易番茄鐘的示例代碼
番茄鐘是番茄工作法使用的一個時間表,即選擇一個待完成的任務,將番茄時間設為25分鐘,專注工作,中途不允許做任何與該任務無關的事,直到番茄時鐘響起,然后在紙上畫一個X短暫休息一下。本文用tkinter實現(xiàn)一個簡易番茄鐘,需要的可以參考一下2022-12-12
如何實現(xiàn)Django Rest framework版本控制
這篇文章主要介紹了如何實現(xiàn)Django Rest framework版本控制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07

