• Python 通过Pandas DataFrame 对execl文件自动创表


    pandas.DataFrame.to_sql 

    DataFrame.to_sql(nameconflavor=Noneschema=Noneif_exists='fail'index=Trueindex_label=Nonechunksize=Nonedtype=None)[source]

    将存储在DataFrame中的记录写入SQL数据库。
    参数:

    name:string

    SQL表的名称

    con:SQLAlchemy引擎或DBAPI2连接(传统模式)

    使用SQLAlchemy可以使用该库支持的任何数据库。如果是DBAPI2对象,则只支持sqlite3。

     http://docs.sqlalchemy.org/en/latest/core/engines.html

    flavor:'sqlite',默认无

    DEPRECATED:此参数将在以后的版本中被删除,因为如果未安装SQLAlchemy,'sqlite'是唯一支持的选项。

    schema:string,default无

    指定模式(如果数据库风格支持此模式)。如果没有,请使用默认模式。

    if_exists:{'fail','replace','append'},default'fail '

    • fail:如果表存在,不做任何事情。
    • replace:如果表存在,请将其删除,重新创建并插入数据。
    • append:如果表存在,请插入数据。创建如果不存在。

    index:boolean,default为True

    将DataFrame索引作为列编写。

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

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

    chunksize:int,default None

    如果不是None,那么行将一次写入这个大小的批次。如果没有,所有行将一次写入。

    dtype:列名称为SQL类型,默认为无

    可选指定列的数据类型。SQL类型应为SQLAlchemy类型,或sqlite3后备连接的字符串。

     创建DataFrame对象

    http://www.cnblogs.com/nxld/p/6756492.html

    chunksize参数的方式来进行大批量插入,pandas会自动将数据拆分成chunksize大小的数据块进行批量插入,其实原理类似于我在上面使用的循环插入法.在不指定这个参数的时候,pandas会一次性插入dataframe中的所有记录,

    pd.io.sql.to_sql(df,'xxx',zh_con,flavor='mysql',if_exists='append',index=False,chunksize=10000)
    #此处的chunksize可以自定义
  • 相关阅读:
    Laravel模型间关系设置分表方法详解
    11个PHP程序员最常犯的MySQL错误
    教你使用swoole监听redis数据
    使用 Docker 环境来开发 PHP,Laradock 系列 1
    tp5 workerman安装不上解决方法
    一种颗粒度很小的 Laravel 路由文件划分方式
    VT 调试环境搭建
    masm32基本配置与写出第一个汇编程序
    [debug] 解决pycharm中无法import自己建立的模块问题
    《Windows内核安全与驱动开发》 7.1&7.2&7.3 串口的过滤
  • 原文地址:https://www.cnblogs.com/Jonecmnn/p/7660231.html
Copyright © 2020-2023  润新知