LoginSignup
17
18

More than 3 years have passed since last update.

jupyter + SQLite

Posted at

python初めて1年半の見習いです。
最近jupyter + SQLiteの組み合わせを使い始めて非常に
便利です。
ですがipython-sqlの導入時にちょっと苦労したのでその辺
を共有してみます。
自分のような初心者の助けになれば。

■自分の環境
・OS:Windows10
・Minicondaインストール済み(jupyter notebook使用可)
・データの分析で数M〜数十Mのcsvファイルを扱うので
 Excelじゃツライ
・毎回read_csvするのもツライ。csvファイルがたくさん
 あってファイルの管理もツライ
・かといってMySQLやPostgreSQL立てるのはちょっとアレ

■インストールするもの
・DB Browser for SQLite
・ipython-sql

■自分的結論
・データはSQLiteにまとめる
・データのSQLiteへの取り込みと簡単な内容チェックは
 DB Browser for SQLiteでする
・データをガチャガチャやるときはjupyter notebookで
 やる

■インストール
・DB Browser for SQLiteをインストール
 (この辺はネットに情報が充実しているので省略)
・ipython-sqlのインストール
 UbuntuならTerminalでpipすればさらっとインストール完了
 するんですが、Windowsだとコマンドプロンプトでpip
 できなかったので少し悩みました。
 答えとしては、jupyter notebookで
  !pip install ipython-sql
 を実行しました。
Screenshot from 2019-06-19 23-11-56.png

■データの取り込み、テーブルの作成
・DB Browser for SQLiteでSQLiteファイルを開いてcsvを
 インポートするのが楽と思います。
 この辺も詳しい手順は省略。

■jupyterからSQLiteへの接続
PostgreやMySQLへの接続方法はネットに充実してたんですが、
SQLiteへの接続の情報はなかなかわかりづらくて苦労しました。

・前提条件
 C:直下でjupyter notebookを開いてる
 C:直下にデータを保存した「sample.sqlite3」がある
 (要はnotebookと同じフォルダ内にsqliteファイルがある)

上記のような状態で下記を実行します
Screenshot from 2019-06-19 23-13-31.png
ポイントは「%sql sqlite:」の後はスラッシュ3本+カレント
ディレクトリにあるSQLiteファイル名。
これでsample.sqlite3に接続できました。

■データの取り出し
これでもうデータの取り出しはスイスイです。
自分の場合はデータ取り出しと同時にpandasのデータフレーム
にしてしまいます。
なのでpandasもインポートしておきます。

例:テーブル「member」からデータ取り出し
Screenshot from 2019-06-19 23-37-23.png

あとはガチャガチャやるだけです。

17
18
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
18