pandas.read_sql_table(table_name,con,schema = None,index_col = None,coerce_float = True,parse_dates = None,columns = None,chunksize = None )源代码
通过数据库表名读入DataFrame
。
给定一个表名和一个可连接SQLAlchemy
,返回一个DataFrame
。此功能不支持DBAPI连接。
参数: | table_name: 数据库中SQL表的名称。 con: 不支持SQLite DBAPI连接模式。 schema: 要查询的数据库中的SQL模式的名称(如果数据库flavor支持此功能)。 如果为None(默认值), 则使用默认架构。 index_col:字符串或字符串列表,可选,默认值:无 要设置为索引的列(MultiIndex)。 coerce_float: 尝试将非字符串,非数字对象(如 可能导致精度损失。 parse_dates: 要解析为日期的列名列表。
格式字符串在解析字符串时间时是与 或者在解析整数时间戳时是(
特别适用于没有本机 columns: 从SQL表中选择的列名列表 chunksize: 如果指定,则返回一个迭代器,其中 |
返回: |
|
例如,
1)MySQLdb
import MySQLdb import pandas as pd
conn= MySQLdb.connect(host='myhost',
port=3306,user='myusername', passwd='mypassword',
db='information_schema') resp = pd.read_sql_table(table_name = 't_line',con = conn,parse_dates = 'time',index_col = 'time',columns = ['a','b','c']) conn.close()
2)SQLite
from sqlalchemy import create_engine import pandas as pd # 创建 SQLite 数据库和表 engine = create_engine('sqlite:///example.db') connection = engine.connect() connection.execute(''' CREATE TABLE IF NOT EXISTS employees ( id INTEGER PRIMARY KEY, name TEXT, title TEXT ) ''') connection.execute(''' INSERT INTO employees (name, title) VALUES ('John Doe', 'Software Engineer'), ('Jane Smith', 'Data Scientist') ''') connection.close() # 使用 pandas.read_sql_table 读取数据 df = pd.read_data_table('employees', con=engine) # 显示 DataFrame print(df)