pandas具有直接讀寫mysql的api介面,簡單易學,這裡就給大家簡單介紹下。
import pymysql
import pandas as pd
def query_in_db(sql):
_conn = pymysql.connect(
host='host_ip', # host_ip
port='your_port',
user='root',
passwd='your_passwd',
db='your_db_name',
charset='utf8'
)_conn.ping(true)
ret = pd.read_sql_query(sql, con=_conn)
_conn.close()
return ret
這裡的mysql驅動,你是想怎麼用就怎麼用,候選的lib相當多,mysqldb, mysql, sqlalchemy等等。基本用法都差不多,你需要傳入sql語句和驅動物件即可。如果你翻看文件,就會發現還有乙個介面:
pd.read_sql(sql, con=_conn)
如果想用表裡的某個列作為匯入的dataframe中的index,那麼可以通過index_col='your_target_column_name'來指定
ret = pd.read_sql_query(sql, con=_conn, index_col='id')
那麼如果要寫到資料庫,如何操作呢?
pandas提供了乙個介面,to_sql,用法如下:
from sqlalchemy import create_engine比較坑爹的就是,pandas僅支援少數幾個mysql驅動,這裡我用了sqlalchemy,你完全不用care這個庫怎麼使用,記得上面的用法就行,這裡需要注意的是,if_exists如果沒有指定,那麼就是fail,當表存在的時候,丟擲異常,index=false用於不輸出index,大部分mysql表都有id作為auto_increment的pirmary key。engine = create_engine('mysql+mysqldb://username:passward@host_ip:host_port/dbname?charset=utf8')
pandas讀寫檔案
在python中讀寫檔案較常用的方法是使用pandas庫中的函式,即方便又快捷。讀寫時需注意 以to csv和read csv函式為例 讀寫其他檔案的函式類似 先新建乙個dataframe格式的資料 import pandas as pd import numpy as np df pd.dataf...
pandas 小記 pandas 讀寫xml檔案
import xml.etree.elementtree as et import pandas as pd defiter records records 遍歷每個節點的生成器 param records return for record in records temp dict 儲存節點key...
Pandas處理MySQL資料
我們將使用sakila資料庫,mysql的示例。借助pyodbc庫 您也可以使用mysqldb庫 我們可以建立到資料庫的連線字串 connection to mysql server import pyodbc mydb pyodbc.connect driver server localhost ...