pandas如何讀取mysql數(shù)據(jù)
更新時間:2022年12月17日 15:17:41 作者:會發(fā)paper的學渣
這篇文章主要介紹了pandas如何讀取mysql數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
pandas讀取mysql數(shù)據(jù)
def get_data(): conn = pymysql.connect(host=RSYS_HOST, port=RSYS_PORT, user=RSYS_USER, passwd=RSYS_PASSWORDD, db=RSYS_DB_NAME, charset='utf8') results = None try: read_result = pd.read_sql(sql, conn) result_json = json.loads(read_result.reset_index().to_json(orient='records', force_ascii=False)) logger.info(sql) return result_json except Exception as e: # 發(fā)生錯誤時回滾 logger.error("Error: unable to fecth data: %s,%s" % (repr(e), sql)) conn.rollback() finally: conn.close() return results
pandas讀取mysql數(shù)據(jù)到DataFrame
方法一
#-*- coding:utf-8 -*- from sqlalchemy import create_engine class mysql_engine(): ? ? user='******' ? ? passwd='******' ? ? host='******' ? ? port = '******' ? ? db_name='******' ? ? engine = create_engine('mysql://{0}:{1}@{2}:{3}/{4}?charset=utf8'.format(user,passwd,host,port,db_name)) def get_data(sql): ? ? pg_enine=mysql_engine() ? ? try: ? ? ? ? with pg_enine.engine.connect() as con, con.begin(): ? ? ? ? ? ? df=pd.read_sql(sql,con)# 獲取數(shù)據(jù) ? ? ? ? con.close() ? ? except: ? ? ? ? df=None ? ? return df
方法二
conn = MySQLdb.connect(host="******",user="******",passwd="******",db='******',port = ******,charset="utf8") sql = "select * from ****** limit 3" df = pd.read_sql(sql,conn,index_col="id") print df
pd 1.9以后的版本,除了sqllite,均需要通過sqlalchemy來設置
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
使用Python實現(xiàn)炫酷的數(shù)據(jù)動態(tài)圖大全
數(shù)據(jù)可視化是通過圖形、圖表、地圖等可視元素將數(shù)據(jù)呈現(xiàn)出來,以便更容易理解、分析和解釋,它是將抽象的數(shù)據(jù)轉化為直觀形象的過程,本文給大家介紹了使用Python實現(xiàn)炫酷的數(shù)據(jù)動態(tài)圖大全,需要的朋友可以參考下2024-06-06python操作SqlServer獲取特定表的所有列名(推薦)
這篇文章主要介紹了python操作SqlServer獲取特定表的所有列名,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08使用wxPython和pandas模塊生成Excel文件的代碼實現(xiàn)
在Python編程中,有時我們需要根據(jù)特定的數(shù)據(jù)生成Excel文件,本文將介紹如何使用wxPython和pandas模塊來實現(xiàn)這個目標,文中通過代碼示例給大家講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-05-05