将Python数据框写入MSSQL表

2024-10-01 11:20:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前有一个Python数据帧,它是23列20000行。在

使用Python代码,我想将我的数据帧写入MSSQL服务器,我有相应的凭据。在

作为测试,我能够使用以下代码成功地将一些值写入表中:

connection = pypyodbc.connect('Driver={SQL Server};' 
                              'Server=XXX;' 
                              'Database=XXX;' 
                              'uid=XXX;' 
                              'pwd=XXX')

cursor = connection.cursor()

for index, row in df_EVENT5_15.iterrows():
    cursor.execute("INSERT INTO MODREPORT(rowid, OPCODE, LOCATION, TRACKNAME)

cursor.execute("INSERT INTO MODREPORT(rowid, location) VALUES (?,?)", (5, 'test'))
connection.commit()

但是如何将数据帧表中的所有行写入MSSQL服务器呢?为此,我需要在Python环境中编写以下步骤:

  1. Delete all the rows in the MSSQL server table

  2. Write my dataframe to the server


Tags: the数据代码in服务器executeserverconnection
2条回答

当你说Python数据帧时,我假设你使用的是Pandas数据帧。如果是这样,那么可以使用^{}函数。在

df.to_sql("MODREPORT", connection, if_exists="replace")

设置为replaceif_exists参数将在写入记录之前删除现有表中的所有行。在

我知道你已经有一段时间没问了,但是删除SQL server表中所有行(问题的第一点)的最简单方法是发送命令

TRUNCATE TABLE Tablename

这将删除表中的所有数据,但将表和索引保留为空,这样您或DBA就不需要重新创建它。它在运行时也使用较少的事务日志。在

相关问题 更多 >