结合iterrows()sqlite3插入或替换到

2024-10-01 19:19:23 发布

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

我读了一个.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]])

将对象转换为字符串以匹配表中的文本列。你知道吗


Tags: 文件数据对象方法nametxtdaterow

热门问题