用Python將mysql數(shù)據(jù)導(dǎo)出成json的方法
1、相關(guān)說明
此腳本可以將Mysql的數(shù)據(jù)導(dǎo)出成Json格式,導(dǎo)出的內(nèi)容可以進(jìn)行select查詢確定。
數(shù)據(jù)傳入?yún)?shù)有:dbConfigName, selectSql, jsonPath, fileName。
依賴的庫有:MySQLdb、json,尤其MySQLdb需要事先安裝好。
2、Python腳本及測(cè)試示例
/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ù)據(jù)導(dǎo)出成json的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Mysql?json類型字段Java+Mybatis數(shù)據(jù)字典功能的實(shí)踐方式
- Mysql如何對(duì)json數(shù)據(jù)進(jìn)行查詢及修改
- MySQL中JSON字段數(shù)據(jù)類型詳解
- Mysql怎么存儲(chǔ)json格式數(shù)據(jù)詳解
- mysql根據(jù)json字段內(nèi)容作為查詢條件(包括json數(shù)組)檢索數(shù)據(jù)
- Mysql將查詢結(jié)果集轉(zhuǎn)換為JSON數(shù)據(jù)的實(shí)例代碼
- 使用python將mysql數(shù)據(jù)庫的數(shù)據(jù)轉(zhuǎn)換為json數(shù)據(jù)的方法
- MySQL查詢和篩選存儲(chǔ)的JSON數(shù)據(jù)的操作方法
相關(guān)文章
Python基于聚類算法實(shí)現(xiàn)密度聚類(DBSCAN)計(jì)算【測(cè)試可用】
這篇文章主要介紹了Python基于聚類算法實(shí)現(xiàn)密度聚類(DBSCAN)計(jì)算,結(jié)合實(shí)例形式分析了聚類算法的相關(guān)概念、原理及使用聚類算法進(jìn)行密度聚類計(jì)算的相關(guān)操作技巧,需要的朋友可以參考下2018-12-12
matplotlib grid()設(shè)置網(wǎng)格線外觀的實(shí)現(xiàn)
這篇文章主要介紹了matplotlib grid()設(shè)置網(wǎng)格線外觀的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
PYQT5設(shè)置textEdit自動(dòng)滾屏的方法
今天小編就為大家分享一篇PYQT5設(shè)置textEdit自動(dòng)滾屏的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Python利用tkinter實(shí)現(xiàn)一個(gè)簡(jiǎn)易番茄鐘的示例代碼
番茄鐘是番茄工作法使用的一個(gè)時(shí)間表,即選擇一個(gè)待完成的任務(wù),將番茄時(shí)間設(shè)為25分鐘,專注工作,中途不允許做任何與該任務(wù)無關(guān)的事,直到番茄時(shí)鐘響起,然后在紙上畫一個(gè)X短暫休息一下。本文用tkinter實(shí)現(xiàn)一個(gè)簡(jiǎn)易番茄鐘,需要的可以參考一下2022-12-12
如何實(shí)現(xiàn)Django Rest framework版本控制
這篇文章主要介紹了如何實(shí)現(xiàn)Django Rest framework版本控制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07

