データベースBookmarkTwitterFacebook読者になるはじめに気軽にDataFrameをデータベーステーブルに変換できそうなto_sqlなるものがあるので、試してみます。documentationsqliteを使いたかったドキュメントではSQLAlchemyを使ってSQLiteを叩いているようですが、SQLAlchemy*1は素人なので、ここでのファイルの指定方法がいまいち謎です。(和訳)をざっと眺めて適当にやったら、エラーが出ました。sqlite:////absolute/path/to/file.dbあ、なるほど、相対パスならスラッシュ3つ、絶対パスならスラッシュ4つにするんですね。すごくどうでも良いところでハマりました。実行して確認してみる何はともあれ、こんなコードを実行します。engine)lsしてtest.dbが生成されたことを確認したら、コンソールからsqliteでつなぎます。df1;hoge|1|1.0fuga|2|2.0まずはできてるっぽくて安心。なりそうなのは複数回呼んだときにどうなるかです。DataFrameを更新してテーブルにも反映する・・・といった処理を想定しています。デフォルトの挙動は「エラーになる」です。‘fail’というパラメータがあって、これで調整できます。dfの定義を書き換えて、if_exists="replace"にして実行してみます。if_exists="replace")実行してから中身を見ます。df1;aa|-100|-100.0hoge|1|1.0fuga|2|2.0テーブルの形が変わっても同様のことができます。df1;aa|-100|-100.0|1hoge|1|1.0|2fuga|2|2.0|3一回消して作り直しているのと同じようなものと考えるべき・・・でしょうか。続けてappendを試します。table.いまいちよくわからない説明なので、念の為に新しいテーブルを作って試します。df2;0|aa|-1001|hoge|1一回目は普通。一回実行すると、下みたいになります。df2;0|aa|-1001|hoge|10|aa|-1001|hoge|1なんとなく納得しました。列を追加すると、どうなるんでしょうね。if_exists="append")なんとなく予想していたことですが、エラーを吐かれました。http://sqlalche.me/e/e3q8)便利に変更部分だけ反映してくれたりはしないので、使いみちは限られると言えます。それがしたければif_exists="replace"の方が良いのですが、頻繁にやると遅くなるのでなにか考えた方が良いでしょう。使い方次第でしょうね。pandasデータフレームを何も考えずにデータベースに突っ込めるので、そういうことをしたいときに重宝するでしょう。積極的にデータベースと連携させるために使うかというと、それは違う気がします。このブログについてスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。