【发布时间】:2021-02-22 04:39:29
【问题描述】:
我想使用每月更新的 pyodbc 将我的数据框保存到 SQL Server(我希望 SQL 数据包含每月更新的 300 个数据)。问题是每次我运行 py 文件时,它都会被添加而不是替换所有数据.在我使用 sqlachemy 之前,我可以使用 if_exist=replace 来完成它。现在我正在使用pyodbc,我不知道该怎么办。我就是这样做的
col_names = ["month", "price", "change"]
df = pd.read_csv("sawit.csv",sep=',',quotechar='\'',encoding='utf8', names=col_names,skiprows = 1) # Replace Excel_file_name with your excel sheet name
for index,row in df.iterrows():
cursor.execute("update dbo.sawit set month = ?, price = ?, change =? ;", (row.month, row.price, row.change))
cnxn.commit()
cursor.close()
cnxn.close()
但我得到的结果是日期全部替换为最后一条记录。我该怎么办?提前谢谢你。
【问题讨论】:
-
如果你想每次都完全替换表格的内容,那么你可以在
TRUNCATE TABLE dbo.sawit后跟INSERT INTO dbo.sawit … -
谢谢!好主意
标签: python sql-server pandas screen-scraping pyodbc