背景: 我们平时使用Pandas读取数据的时候还会涉及到将所读数据插入数据库中,今天就记录下怎么快速的讲DataFrame数据导入mysql
这里需要用的函数是pandas.io.sql.to_sql
这里需要注意的是我们使用的是sqlalchemy引擎,这也是有原因的。
然后对to_sql里面的参数进行下解析:
frame: 指的是数据Dataframe型
name: 指将要放的数据库表名
con: 数据库连接
schema: 数据库库名
index:dataframe行数index,默认为True
if_exists: 其中有下面三个参数供选择
fail的意思如果表存在,啥也不做
replace的意思,如果表存在,删了表,再建立一个新表,把数据插入
append的意思,如果表存在,把数据插入,如果表不存在创建一个表!!
import sqlalchemy
import conf.db_conf as config
df=pd.read_csv("C:\\Users\\Administrator\\Downloads\\iris.csv",index_col=0) #读取数据
print(df.head(5)) #查看前5行数据
conn=sqlalchemy.create_engine(config.SQL_DATABASE_URI) #创建连接
pd.io.sql.to_sql(frame=df,name='iris',con=conn.connect(),if_exists='append',schema=config.DB_MYSQL['db'],index=False)