pandas to_sql

实例:

import pymysql
import pandas as pd
import numpy as np

from sqlalchemy import create_engine

df = pd.DataFrame([[1,"Bob",0],
                  [2,"Kim",1]],columns=["id","name","sex"])
df

id	name	sex
0	1	Bob	0
1	2	Kim	1

from sqlalchemy import create_engine
engine = create_engine("mysql://{}:{}@{}/{}?charset=utf8".format('username','password','host:port', 'database'))
con = engine.connect()

df.to_sql(name='students', con=con, if_exists='append', index=False)

 若表不存在,创建字段都是text,bigint等

  

df.to_sql参数介绍:

name:string

SQL表的名称。

con:sqlalchemy.engine.Engine或sqlite3.Connection

使用SQLAlchemy可以使用该库支持的任何数据库。为sqlite3.Connection对象提供了旧版支持。

schema:string,optional

指定架构(如果数据库flavor支持此)。如果为None,请使用默认架构。

if_exists:{'fail','replace','append'},默认'fail'

如果表已存在,如何表现。

  • 失败:引发ValueError。
  • replace:在插入新值之前删除表。
  • append:将新值插入现有表。

index:布尔值,默认为True

将DataFrame索引写为列。使用index_label作为表中的列名。

index_label:字符串或序列,默认为None

索引列的列标签。如果给出None(默认)且 index为True,则使用索引名称。如果DataFrame使用MultiIndex,则应该给出一个序列。

chunksize:int,可选

行将一次批量写入此大小。默认情况下,所有行都将立即写入。

dtype:dict,可选

指定列的数据类型。键应该是列名,值应该是SQLAlchemy类型或sqlite3传统模式的字符串。

posted @ 2018-12-25 22:09  家迪的家  阅读(7311)  评论(0编辑  收藏  举报