これはいくつかのスレッドでは簡単なトピックですが、解決策を見つけることができませんでした。Pandas Dataframe to Sqlite - バインディング問題
私が持っているものは、配列を読み込んでそれをDataframeに変換するtxtファイルです。 その後、私はそれが日付/数字であるように単一の列を変換します。私は探しているものを構築するためのより効率的な方法があると確信していますが、それは私のために働いた。
病気はそのように見えるのデータフレームで終わる:
PSVLD Market Date PSVLD Ticker PSVLD Tenor Date PSVLD Percent of Spot \
1 2017-02-03 .MSCIEA 1M 50.0
2 2017-02-03 .MSCIEA 1M 60.0
3 2017-02-03 .MSCIEA 1M 70.0
4 2017-02-03 .MSCIEA 1M 75.0
5 2017-02-03 .MSCIEA 1M 80.0
6 2017-02-03 .MSCIEA 1M 85.0
7 2017-02-03 .MSCIEA 1M 90.0
8 2017-02-03 .MSCIEA 1M 92.5
9 2017-02-03 .MSCIEA 1M 95.0
10 2017-02-03 .MSCIEA 1M 97.5
PSVLD Vol
1 34.96749
2 34.36383
3 32.58459
4 30.53958
5 28.30699
6 24.74774
7 20.07822
8 17.38867
9 14.58027
10 11.84767
そして今、私はこのデータをデータベースに挿入します。私は新しいテーブルを作成し、このデータフレームを自分のファイルに実行しようとしましたが、動作しません。
con = sq3.connect('my_db.db')
query = 'CREATE TABLE ImpliedVola (Date date, Ticker varchar(50), Tenor varchar(10),Strike real, IV real)'
con.execute(query)
con.commit()
con.executemany('INSERT INTO ImpliedVola VALUES (?, ?, ?, ?, ?)', df)
しかし、不幸にも約17のバインディングがあります。あなたは私が間違っていることを知っていますか?前もって感謝します!
ProgrammingError: Incorrect number of bindings supplied. The current statement uses 5, and there are 17 supplied.
それでも、誰かがここで私が間違って何をしたか知っていますか?なぜなら、私はそれが正しいとすれば、私はupdaterまたはinsertでクエリを置き換えることができるからです。 –