来源:华校专
浏览 890
扫码
分享
2020-06-07 18:30:40
6. SQL
read_sql_table
从指定数据表中,提取你所需要的列。
pandas.read_sql_table(table_name, con, schema=None, index_col=None,
coerce_float=True, parse_dates=None, columns=None, chunksize=None)
table_name
:一个字符串,指定了数据库的表名
con
:一个SQLAlchemy conectable
或者一个database string URI
,指定了连接对象它就是SQLAlchemy
中的Engine
对象。
schema
:一个字符串,给出了SQL schema
(在mysql
中就是database
)
index_col
:一个字符串或者字符串列表,指定哪一列或者哪些列作为index
coerce_float
:一个布尔值,如果为True
,则试图转换结果到数值类型
parse_dates
:一个列表或者字典。指定如何解析日期:
- 列名的列表:这些列将被解析为日期
- 字典
{col_name:format_str}
:给出了那些列被解析为日期,以及解析字符串 - 字典
{col_name:arg dict}
:给出了哪些列被解析为日期,arg dict
将传递给pandas.to_datetime()
函数来解析日期
columns
:一个列表,给出了将从sql
中提取哪些列
chunksize
:一个整数。如果给出了,则函数返回的是一个迭代器,每次迭代时,返回chunksize
行的数据。
read_sql_query
可以选择select query
语句。因此你可以执行多表联合查询。
pandas.read_sql_query(sql, con, index_col=None, coerce_float=True,
params=None, parse_dates=None, chunksize=None)
sql
:一个SQL
查询字符串,或者SQLAlchemy Selectable
对象。params
:一个列表,元组或者字典。用于传递给sql
查询语句。比如:sql
为uses %(name)s...
,因此params
为{'name':'xxxx'}
- 其他参数见
read_sql_table
read_sql
是前两者的一个包装,它可以根据sql
参数,自由地选择使用哪个方式。
pandas.read_sql(sql, con, index_col=None, coerce_float=True, params=None,
parse_dates=None, columns=None, chunksize=None)
sql
:一个数据表名,或者查询字符串,或者SQLAlchemy Selectable
对象。如果为表名,则使用read_sql_table
;如果为后两者,则使用read_sql_query
pandas
对象的.to_sql()
方法用于插入数据库。
Series/DataFrame.to_sql(name, con, flavor=None, schema=None, if_exists='fail',
index=True, index_label=None, chunksize=None, dtype=None)
name
:一个字符串,指定表名con
:一个SQLAlchemy conectable
或者一个database string URI
,指定了连接对象。它就是SQLAlchemy
中的Engine
对象。flavor
:被废弃的参数schema
:一个字符串,指定了SQL schema
if_exists
:一个字符串,指定当数据表已存在时如何。可以为:'fail'
:什么都不做(即不存储数据)'replace'
:删除数据表,创建新表,然后插入数据'append'
:如果数据表不存在则创建数据表然后插入数据。入股数据表已存在,则追加数据index
:一个布尔值。如果为True
,则将index
作为一列数据插入数据库index_label
:index
的存储名。如果index=True
,且index_label=None
,则使用index.name
chunksize
:一个整数。 如果为None
,则一次写入所有的记录。如果非空,则一次写入chunksize
大小的记录dtype
:一个字典。给出了各列的存储类型。
当前内容版权归
华校专 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问
华校专 .