Bootstrap
本文主要介绍Python中Pandas通过read_sql方法,传入sql语句和对应数据库连接,从Mysql数据库或Oracle数据库直接读取数据帧(DataFrame)的代码。

1、pandas.read_sql(sql,con,index_col = None,coerce_float = True,params = None,parse_dates = None,columns = None,chunksize = None)

将SQL查询或数据库表读入DataFrame。

sql:string或SQLAlchemy可选(选择或文本对象),要执行的SQL查询或表名。

con:SQLAlchemy可连接(引擎/连接)或数据库字符串URI,或DBAPI2连接(后备模式)
使用SQLAlchemy可以使用该库支持的任何数据库。如果是DBAPI2对象,则仅支持sqlite3。

2、从Oracle中读取数据帧(DataFrame)

import pandas as pd
import cx_Oracle
ora_conn = cx_Oracle.connect('your_connection_string')
df_ora = pd.read_sql('select * from user_objects', con=ora_conn)    
print 'loaded dataframe from Oracle. # Records: ', len(df_ora)
ora_conn.close()

3、从Mysql中读取数据帧(DataFrame)

import MySQLdb
mysql_cn= MySQLdb.connect(host='myhost', 
                port=3306,user='myusername', passwd='mypassword', 
                db='information_schema')
df_mysql = pd.read_sql('select * from VIEWS;', con=mysql_cn)    
print 'loaded dataframe from MySQL. records:', len(df_mysql)
mysql_cn.close()