美文网首页
pandas操作mysql数据库

pandas操作mysql数据库

作者: 王文强Python | 来源:发表于2020-07-11 15:05 被阅读0次

    1、将查询到的数据转成datafram

    fields_store =('a','b','c','e','f','g')
    sql_store = "SELECT %s,%s,%s,%s,%s,%s FROM 表名"%fields_store
    result_store = dbcur.db_qurey(sql_store)
    df_store = pd.DataFrame(list(result_store))
    df_store.columns = fields_store
    df_store = df_store.astype(object).where(pd.notnull(df_store), '')
    

    2、datafram 插入数据库第一种方法:

    insert_sql = "insert into  表名 (`a`,`b`,`c`,`d`,`e`,`f`,`g`) values (%s,%s,%s,%s,%s,%s,%s)"
    testlist = [tuple(test) for test in df.values]
    cur.executemany(insert_sql,testlist)
    

    3、datafram 插入数据库第二种方法:

    import sqlalchemy
    conn=sqlalchemy.create_engine('mysql+pymysql://username:passwd@localhost:3306/test',encoding='utf8') #创建连接
    pd.io.sql.to_sql(frame=df,name='iris',con=conn.connect(),if_exists='append',schema=‘数据库库名’,index=False)
    
    参数说明:
    frame: 指的是数据Dataframe型
    name: 指将要放的数据库表名
    con:  数据库连接 
    schema: 数据库库名
    index:dataframe行数index,默认为True
    if_exists: 其中有下面三个参数供选择
    fail的意思如果表存在,啥也不做
    replace的意思,如果表存在,删了表,再建立一个新表,把数据插入
    append的意思,如果表存在,把数据插入,如果表不存在创建一个表!!
    

    相关文章

      网友评论

          本文标题:pandas操作mysql数据库

          本文链接:https://www.haomeiwen.com/subject/nllicktx.html