相关疑难解决方法(0)

如何将 Pandas DataFrame 更新到 PostgreSQL 表?

我从网络资源中抓取了一些数据并将它们全部存储在 Pandas DataFrame 中。现在,为了利用 SQLAlchemy 提供的强大的数据库工具,我想将所述 DataFrame 转换为 Table() 对象,并最终将所有数据 upsert 到 PostgreSQL 表中。如果这是可行的,那么完成这项任务的可行方法是什么?

python postgresql sqlalchemy upsert pandas

6
推荐指数
2
解决办法
4267
查看次数

使用 pyodbc 将 Pandas 数据帧高效地更新插入到 MS SQL Server

我正在尝试使用 pyodbc 将 Pandas 数据帧升级到 MS SQL Server。我以前使用过类似的方法来进行直线插入,但这次我尝试的解决方案非常慢。有没有比我拥有的更简化的方法来完成 upsert?

sql_connect = pyodbc.connect('Driver={SQL Server Native Client 11.0}; Server=blank1; Database=blank2; UID=blank3; PWD=blank4')
cursor = sql_connect.cursor()

for index, row in bdf.iterrows():
    res = cursor.execute("UPDATE dbo.MPA_BOOK_RAW SET [SITE]=?, [SHIP_TO]=?, [PROD_LINE]=?, [GROUP_NUMBER]=?, [DESCRIPTION]=?, [ORDER_QTY]=?, [BPS_INCLUDE]=? WHERE [CUST]=? AND [ORDER_NUMBER]=? AND [ORDER_DATE]=? AND [PURCHASE_ORDER]=? AND [CHANNEL]=? AND [ITEM]=? AND [END_DT]=?", 
                    row['SITE'], 
                    row['SHIP_TO'],
                    row['PROD_LINE'],
                    row['GROUP_NUMBER'],
                    row['DESCRIPTION'],
                    row['ORDER_QTY'],
                    row['BPS_INCLUDE'],
                    row['CUST'],
                    row['ORDER_NUMBER'], 
                    row['ORDER_DATE'],
                    row['PURCHASE_ORDER'], 
                    row['CHANNEL'],
                    row['ITEM'],
                    row['END_DT'])

    if res.rowcount == 0:
            cursor.execute("INSERT INTO dbo.MPA_BOOK_RAW ([SITE], [CUST], [ORDER_NUMBER], [ORDER_DATE], [PURCHASE_ORDER], …
Run Code Online (Sandbox Code Playgroud)

python sql sql-server pyodbc pandas

4
推荐指数
1
解决办法
3642
查看次数

标签 统计

pandas ×2

python ×2

postgresql ×1

pyodbc ×1

sql ×1

sql-server ×1

sqlalchemy ×1

upsert ×1