美文网首页我爱编程
Python3 写入Oracle数据库

Python3 写入Oracle数据库

作者: owenqi | 来源:发表于2018-04-18 17:02 被阅读0次

    pandas 自带了 to_sql 方法, 可以将数据集写入数据库.

    def to_sql(name, con, flavor=None, 
        schema=None, if_exists='fail', 
        index=True, index_label=None, 
        chunksize=None, dtype=None)
    
    常用的几个参数:
        name: 写入数据库的表名
        con: 数据库连接
        if_exists: 若数据库中存在同名表, 则采取什么操作. 可以使用的值有
            'fail': 写入失败
            'replace': 删除原表, 重新创建新表, 写入数据
            'append': 在原表的基础上, 在表尾插入新数据
            默认是 'fail'
        index: 是否将 dataframe 的 index 写入数据库. 默认是 True
        dtype: 写入数据库时, 各个列对应的数据格式. 指定格式需要从 sqlalchemy 导入 types 模块. 形式是
            {
                'col1': types.VARCHAR(20),
                'col2': ......
            }
    
    • 写入 Oracle 数据库时, 使用 cx_Oracle 包创建的 conn 对象并不能用在 to_sql 函数中, 需要使用 sqlalchemy 创建 conn 对象
    from sqlalchemy import types, create_engine
    # 填入Oracle数据库的登录名, 密码, 地址, 端口, 服务名 就可以创建数据库连接
    conn = create_engine('oracle+cx_oracle://username:password@location:port/?service_name={}')
    df.to_sql('table_name', conn, if_exists='fail', dtype={})
    

    可以在 dtype 参数中指定每一列对应的数据格式

    相关文章

      网友评论

        本文标题:Python3 写入Oracle数据库

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