插入或替换为iterrows() - sqlite3

时间:2017-02-07 09:31:25

标签: python sqlite

我读了一个.txt文件并最终获得了这样的数据:

    Date Ticker Tenor  Strike        IV
1   2017-02-03   MXEA    1M    50.0  34.96749
2   2017-02-03   MXEA    1M    60.0  34.36383 ...

现在我想将dataframe写入 sqlite3 表,但需要考虑重复项。因此我想我尝试这种方法:

    for index,row in df.iterrows():
   con.execute('INSERT OR REPLACE INTO ImpVol_Data (Date, Ticker, Tenor,Strike,IV) VALUES (?,?,?,?,?)',[row[0],row[1],row[2],row[3],row[4]])

很遗憾,我收到一条错误消息,说明以下内容:

InterfaceError: Error binding parameter 0 - probably unsupported type.

我真的想在这里理解我的问题。 列的类型如下:

Name: Date, dtype: datetime64[ns]
Name: Ticker, dtype: object
Name: IV, dtype: float64

所以我有1个日期对象,2个对象和2个浮点数。我也尝试过这样的事情:

   ....',[row[0],str(row[1]),str(row[2]),row[3],row[4]])

将对象转换为字符串以匹配表格中的TEXT列。

0 个答案:

没有答案