@@ -365,7 +365,7 @@ def read_sql_query(sql, con, index_col=None, coerce_float=True, params=None,
365
365
366
366
367
367
def read_sql (sql , con , index_col = None , coerce_float = True , params = None ,
368
- parse_dates = None , columns = None ):
368
+ parse_dates = None , columns = None , schema = None ):
369
369
"""
370
370
Read SQL query or database table into a DataFrame.
371
371
@@ -396,6 +396,7 @@ def read_sql(sql, con, index_col=None, coerce_float=True, params=None,
396
396
columns : list
397
397
List of column names to select from sql table (only used when reading
398
398
a table).
399
+ schema : Name of SQL schema in database.
399
400
400
401
Returns
401
402
-------
@@ -421,11 +422,16 @@ def read_sql(sql, con, index_col=None, coerce_float=True, params=None,
421
422
sql , index_col = index_col , params = params ,
422
423
coerce_float = coerce_float , parse_dates = parse_dates )
423
424
424
- if pandas_sql .has_table (sql ):
425
- pandas_sql .meta .reflect (only = [sql ])
425
+ try :
426
+ _is_table_name = pandas_sql .has_table (sql , schema = schema )
427
+ except :
428
+ _is_table_name = False
429
+
430
+ if _is_table_name :
431
+ pandas_sql .meta .reflect (only = [sql ], schema = schema )
426
432
return pandas_sql .read_table (
427
433
sql , index_col = index_col , coerce_float = coerce_float ,
428
- parse_dates = parse_dates , columns = columns )
434
+ parse_dates = parse_dates , columns = columns , schema = schema )
429
435
else :
430
436
return pandas_sql .read_sql (
431
437
sql , index_col = index_col , params = params ,
0 commit comments