美文网首页python的那些坑
python 连接DB2数据库

python 连接DB2数据库

作者: Ziger丶 | 来源:发表于2019-04-24 23:41 被阅读0次
    pandas 链接DB2数据库
    注意事项:

    1、就是一定记得要关闭连接。
    2、读取数据只能一行一行读取,需要 result = ibm_db.fetch_both(stmt) 代码再调下一行

    import ibm_db
    conn = ibm_db.connect("DATABASE = dbname ;HOSTNAME= 输入IP ;PORT= 端口 ;PROTOCOL=  TCPIP ;UID= 用户名 ;PWD= 密码 ;", "", "")
    --------------------- 
    if conn:
        sql = "SELECT * FROM TJFX.DW_XSZT_FORECAST_CRM"
        stmt = ibm_db.exec_immediate(conn, sql)   #执行SQL
        result = ibm_db.fetch_both(stmt)    #一行一行的执行
        while (result):
            a = {
                '日期':result[0],
                '到店成单率电邀':float(result[1]),
                '线索到店率电邀':float(result[2]),
                '线索成单率自主':float(result[3]),
                '线索成单率门店':float(result[4]),
                '非线索成单号码数':int(result[5])
                }
            db2_data.append(a)
            result = ibm_db.fetch_both(stmt)
    ibm_db.close(conn)
    --------------------- 
    
    
    一次性读取数据库。

    参考自 https://blog.csdn.net/faith_mo_blog/article/details/80164557

    import sqlalchemy
    from sqlalchemy import *
    import ibm_db_sa
    engine = sqlalchemy.create_engine("ibm_db_sa://【用户名】:【密码】\
                                      @【地址】:【端口】/【数据库】?charset=utf8")
    engine = sqlalchemy.create_engine("ibm_db_sa://zhaojiyang:izQSn)daI6LDrXfKhewT\
                                     @150.242.57.166:50000/aedw?charset=utf8")
    
    
    a = pd.read_sql(sql, conn, index_col=None, coerce_float=True, \
                    params=None, parse_dates=None, columns=None, chunksize=None)
    
    data = pd.read_sql_query('select * from  TJFX.FACT_XSZT_FORECAST_KPI ',con = engine)
    
    df = pd.read_sql_query(sql, engine)
    
    pandas to_csv保存数据出现中文乱码问题
    df = pd.read_csv(file_name, encoding='utf-8')
    或者
    df.to_csv(file_name3,encoding="utf_8_sig")
    
    dataframe 存入数据库
    
    pd.io.sql.to_sql(df,table_name,con=conn,schema='w_analysis',if_exists='append')
    
    to_sql参数说明:
    (数据,表名,con=连接键(上文提到的engine),schema='数据库名',if_exists='操作方式')    
    操作方式有append、fail、replace
    

    ————

    相关文章

      网友评论

        本文标题:python 连接DB2数据库

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