第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 pandas.to_sql() 中使用“可調用”方法的示例?

在 pandas.to_sql() 中使用“可調用”方法的示例?

炎炎設計 2022-07-05 19:08:25
我正在嘗試創(chuàng)建一個具有ON CONFLICT參數的特定插入語句(我正在上傳到 Postgres 數據庫);df.to_sql(method='callable') 會允許嗎?還是為了其他目的?我已經閱讀了文檔,但我無法掌握這個概念。我在這個網站和其他網站上四處尋找類似的問題,但我還沒有找到。如果可能的話,我希望看到一個如何在實踐中使用“可調用”方法的示例。關于如何使用邏輯有效地從 pandas 加載大量行的任何其他想法ON CONFLICT也將不勝感激。在此先感謝您的幫助!
查看完整描述

2 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超22個贊

這是一個關于如何使用 postgres 的ON CONFLICT DO NOTHING示例to_sql


# import postgres specific insert

from sqlalchemy.dialects.postgresql import insert


def to_sql_on_conflict_do_nothing(pd_table, conn, keys, data_iter):

    # This is very similar to the default to_sql function in pandas

    # Only the conn.execute line is changed

    data = [dict(zip(keys, row)) for row in data_iter]

    conn.execute(insert(pd_table.table).on_conflict_do_nothing(), data)


conn = engine.connect()

df.to_sql("some_table", conn, if_exists="append", index=False, method=to_sql_on_conflict_do_nothing)


查看完整回答
反對 回復 2022-07-05
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

我剛剛遇到了類似的問題,然后對于這個答案,我想出了如何發(fā)送df到的解決方案potgresSQL ON CONFLICT:


1.發(fā)送一些初始數據到數據庫創(chuàng)建表

from sqlalchemy import create_engine

engine = create_engine(connection_string)


df.to_sql(table_name,engine)

2.添加primary key

ALTER TABLE table_name ADD COLUMN id SERIAL PRIMARY KEY;

3. 在要檢查唯一性的列(或列)上準備索引

CREATE UNIQUE INDEX review_id ON test(review_id);

4.映射sql表sqlalchemy

from sqlalchemy.ext.automap import automap_base

ABase = automap_base()


Table = ABase.classes.table_name

Table.__tablename__ = 'table_name'

6. 做你insert on conflict的:

from sqlalchemy.dialects.postgresql import insert


insrt_vals = df.to_dict(orient='records')

insrt_stmnt = insert(Table).values(insrt_vals)


do_nothing_stmt  = insrt_stmnt.on_conflict_do_nothing(index_elements=['review_id'])

results = engine.execute(do_nothing_stmt)


查看完整回答
反對 回復 2022-07-05
  • 2 回答
  • 0 關注
  • 228 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號