1. 程式人生 > >Python查詢MySQL資料,並提取mysql欄位名轉化成DataFrame

Python查詢MySQL資料,並提取mysql欄位名轉化成DataFrame

今天覆習一下,用python操作mysql以及excel,並且作為橋樑,連線mysql,excel.
那麼既然用到了python操作資料就不免需要用到dataframe做資料分析,本文主要一個麻煩點在於從mysql 中獲取到的資料沒有欄位名,
下面直接上程式碼:

import pymysql
import pandas as pd


def get_mysql_data(sql):
    """
    提取mysql中的資料並返回成dataframe
    引數只需要sql語句

    """
    conn = pymysql.connect(
        host='localhost',
        user='root',
        password='root1234',
        db='test1',
        port=3306
    )
    cur = conn.cursor()  # 獲取操作遊標,也就是開始操作
    sql_select = sql  # 查詢命令
    cur.execute(sql_select)  # 執行查詢語句

    result = cur.fetchall()  # 獲取查詢結果
    col_result = cur.description  # 獲取查詢結果的欄位描述

    columns = []
    for i in range(len(col_result)):
        columns.append(col_result[i][0])  # 獲取欄位名,咦列表形式儲存

    df = pd.DataFrame(columns=columns)
    for i in range(len(result)):
        df.loc[i] = list(result[i])  # 按行插入查詢到的資料

    conn.close()  # 關閉資料庫連線

    return df

得到dataframe之後當然也可以匯出為excel或者進行後續的資料分析工作,這裡就不再贅述。