ストックドッグ

KatoTakahiro。金融系の会社で働くSEが株やPython、その他諸々について書いています。サービスも運営してます→http://fmbrain.work

SQLite3をPandasから操作する

SQL文の操作を覚えるのが面倒...

select * from tbl_nameまでが覚えれる限界でした。

データの検索・変更などのwhere文等を覚えるのが面倒かつ、逃げ道を見つけてしまったので、逃げ道のほうに行くほかない。

ということで、SQLite3のデータをPandasのDataFrame型に出力してから、DataFrame型でデータを加工するという技を身につけたので、ここにメモとして保存します。

これだと、Pandasでデータをいじくり回して、最後にSQLite3に保存するだけなので、楽ちん。


Pandasの万能さを実感し、かつ、SQL文を覚える機会をまたまた失ったわけであります。

#SQLite3をインポート
import sqlite3
import pandas as pd


#db
dbname = "code.db"


#dbコネクト
conn = sqlite3.connect(dbname)
c = conn.cursor()


#dbを見てみる
pd.read_sql_query("select * from code_7776", conn)


#dbをpandasのDataFrame型で読み込む
df = pd.read_sql("select * from code_7776", conn)

#dfの中身はすでにDataFrame形式
#データの変更等はPandasでのデータいじりの操作方法でいける
df["Altering"] = None
print(df)


#データをいじり終わったら、SQLite3のdbに書き込む
df.to_sql("code_7776", conn, if_exists="replace")


【参考】

www.dataquest.io