首页 > 解决方案 > Pandas df.to_sql() 缺少 1 个必需的位置参数:'con'

问题描述

我正在尝试通过气流 dag 中的 python 数据框创建一个表。我已经从一个大查询表中提取数据并加载到 pandas 数据框中。如何在 MySQL 中创建表?

def bq_extraction():
    
    source_table = 'analytics.buyer_data' -- Bigquery table
    destination_table = 'marketing.buyer_data' -- Mysql Table

    sql_query = f"""SELECT  email,
                            count_products
                    FROM {source_table}
                """

    df = bq_client.query(query=sql_query, job_config=bq_query_config).to_dataframe()
    df.columns = ['email', 'count_wishlist_products']
    print(df.shape) -- This is working fine

我尝试使用下面的代码添加一个 mysql 钩子

hook = MySqlHook('connection_id')
engine = hook.get_sqlalchemy_engine()

df.to_sql('marketing.buyers_data', con=engine)

错误;

ERROR - to_sql() missing 1 required positional argument: 'con'

标签: pythonmysqlpandas

解决方案


推荐阅读