csvファイルから、sqlite3のデータベース(DB)ファイルを作成するPythonの雛形コード。また、そのDBを読み出して、指定した条件のデータを抽出したり、それをcsvファイルへ出力する雛形コードも載せました。
ちなみに、csvからsqlite3のDBを作成するには、次のようにコマンドラインで行えます。
しかし、上記の方法で作成したDBの場合、テーブルの型は全てTEXT(文字列)になります。これでは数値データとして処理したい場合に不都合な場合があり得えます。例えば、ある数値データ列に対して、数値5以上7以下の範囲の値を有するデータ行を抽出したい場合等です。そのため、Pythonの標準ライブラリsqlite3で処理すると楽です。
下図はその一例で、列名speciesの要素が'setosa'であって、列名sepal_widthの要素が3.0以下である行データを抽出する場合の処理です。
2つの雛形コードは、GitHubに登録しています。それらは、Jupyter Labでインタラクティブに処理出来て便利です。
■ csvファイルからsqlite3のDBファイルを作成する
DBを作成する際は、テーブルは型も同時に手動で指定して定義します。そして、大量のデータ挿入はPythonのループで処理します。ちなみに、一度作成したDBへのデータの追加は挿入と同じです。
https://github.com/hk29-ai/template_for_csv2sqlite3/blob/main/template_for_csv2sqlite3db.ipynb
■sqlite3のDBのロードする
上記で作成したDBをまずは読み込みます。次に、条件を指定してデータを抽出したり、それをcsvファイルへ出力するコードです。
以上
<広告>