将数据帧上载到sql server中的现有表

时间:2019-02-24 19:25:01

标签: python pandas dataframe

我有一个要上传到SQL Server数据库的数据框。

我一直在研究pandas to_sql方法,但似乎无法正常工作。

我的数据框是说500行3列

column name      data type
dateLg           datetime
temperature      float64
city             object

所以我的SQL表叫做tblCityTemperature

  column name          data type
  DateLeg              datetime
  Temp                 float
  CC                   nvarchar(20)

是否可以将数据框中的列映射到我的sql表?

我尝试了以下方法,其中tblColNames是我的sql表中的三个名称。

df.to_sql("tblPrices", cnxn, index_label=tblColNames)

我收到下面的错误消息,这对我来说真的没有意义

  

ValueError:“ index_label”的长度应与级别数匹配,即1

1 个答案:

答案 0 :(得分:1)

您可以在to_sql

之前更改列
df.columns=['DateLeg','Temp','CC']

那么您只需要

df.to_sql("tblPrices", cnxn, if_exists ='append')