web-dev-qa-db-ja.com

pandasデータフレームをSQLiteテーブルに挿入します

そのため、Excelからインポートされたデータフレームと、一致する列を持つSQLテーブルがあります。これまで、列をリストとして使用してテーブルを更新してきました。

Schedule_Frame = DataFrame(Sheet_Schedule)

Column_ID=Schedule_Frame['ID']

Column_list=list(Column_ID)


for i in range(len(Column_list)):

miCursor.execute("UPDATE SCHEDULE SET ID=? WHERE rowid=?",(Column_list[i],i))

ただし、SQLiteにあるのはデータフレームの列と一致するテーブルであるため、フレームを使用してSQLiteテーブル全体を更新する方法があると確信しています。

それを行う方法はありますか?

どうもありがとう!!

3
Val10

sqlite3パッケージを使用してSQLiteデータベースにアクセスしていると思います。 SQLAlchemy – Pandasのデータ構造でうまく機能する–を使用してデータベースにアクセスするのはどうですか?

from sqlalchemy import create_engine
engine = create_engine('sqlite:///<replace_this_with_path_to_db_file>', echo=False)

次に行う:

Schedule_Frame.to_sql('SCHEDULE', con=engine, if_exists='append')

編集:サンプルコード

from sqlalchemy import create_engine
import pandas as pd

engine = sqlalchemy.create_engine('sqlite:///my.db', echo=False)
df = pd.DataFrame([[1,2],[1,2]], columns=['a', 'b'])

df.to_sql('mytable', con=engine, if_exists='append')

Sqlite3 CLIの場合:

sqlite> select * from 'mytable';
0|1|2
1|1|2

リソース:

3
mremes