mcpField
S
sqlite-utils

sqlite-utils

公式Agent-ready
github.comデータベース・データ2.2ksqlite-utils3 週間前に更新
リポジトリ公式サイト

sqlite-utils について

sqlite-utils は SQLite データベース管理のためのコマンドラインインターフェースを提供します。JSON、CSV などの形式からのデータ直接インポート、クエリ実行、データベース構造の検査をサポートします。

主な機能

  1. 01JSON やその他の形式から SQLite テーブルへデータを挿入
  2. 02データベーステーブル、列、およびそれらのプロパティをクエリおよび検査
  3. 03Python スクリプトまたはシェルコマンドを使用してデータ操作を組み合わせる

活用シーン

  1. 01コーディングワークフローで構造化データセットを処理・変換
  2. 02自動化パイプラインで分析用データベースを迅速に構築
  3. 03複数のソースからデータを 1 つのデータベースに統合

インストール

OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。

$
pipx install sqlite-utils

インストール後にsqlite-utils --versionを実行して確認します。

コマンド例

よく使うコマンドを使う順に並べています。

01
sqlite-utils insert data.db items items.json
02
sqlite-utils tables data.db

詳細

sqlite-utils

PyPI Changelog Python 3.x Tests Documentation Status codecov License discord

SQLite データベースを操作するための Python CLI ユーティリティおよびライブラリです。

主な機能

sqlite-utils 3.x からのアップグレードですか?4.0 アップグレードガイドをご覧ください。

sqlite-utils の新機能に関する一連の記事や、sqlite-utils タグ付きの記事など、私のブログで詳しくご覧いただけます。

インストール

pip install sqlite-utils

macOS で Homebrew を使用している場合は、次のようにインストールできます。

brew install sqlite-utils

CLI ツールとして使用する

CLI ユーティリティを使って、次のような操作ができます。

$ sqlite-utils memory dogs.csv "select * from t"
[{"id": 1, "age": 4, "name": "Cleo"},
 {"id": 2, "age": 2, "name": "Pancakes"}]

$ sqlite-utils insert dogs.db dogs dogs.csv --csv
[####################################]  100%

$ sqlite-utils tables dogs.db --counts
[{"table": "dogs", "count": 2}]

$ sqlite-utils dogs.db "select id, name from dogs"
[{"id": 1, "name": "Cleo"},
 {"id": 2, "name": "Pancakes"}]

$ sqlite-utils dogs.db "select * from dogs" --csv
id,age,name
1,4,Cleo
2,2,Pancakes

$ sqlite-utils dogs.db "select * from dogs" --table
  id    age  name
----  -----  --------
   1      4  Cleo
   2      2  Pancakes

次のようにして、JSON データを新しいデータベーステーブルにインポートできます。

$ curl https://api.github.com/repos/simonw/sqlite-utils/releases \
    | sqlite-utils insert releases.db releases - --pk id

CSV ファイル内のデータの場合は、次のようにします。

$ sqlite-utils insert dogs.db dogs dogs.csv --csv

sqlite-utils memory を使うと、CSV または JSON データをインメモリデータベースにインポートし、1 つのコマンドで SQL クエリを実行できます。

$ cat dogs.csv | sqlite-utils memory - "select name, age from stdin"

さらに多くのコマンドについて詳しくは、CLI の完全なドキュメントをご覧ください。

ライブラリとして使用する

import sqlite_utils を使って、次のように Python ライブラリとして利用することもできます。

import sqlite_utils
db = sqlite_utils.Database("demo_database.db")
# This line creates a "dogs" table if one does not already exist:
db["dogs"].insert_all([
    {"id": 1, "age": 4, "name": "Cleo"},
    {"id": 2, "age": 2, "name": "Pancakes"}
], pk="id")

Python ライブラリでできるその他の操作については、ライブラリの完全なドキュメントをご覧ください。

関連プロジェクト

  • Datasette:データの探索と公開のためのツール
  • csvs-to-sqlite:CSV ファイルを SQLite データベースに変換します
  • db-to-sqlite:MySQL または PostgreSQL データベースを SQLite ファイルとしてエクスポートする CLI ツール
  • dogsheep:sqlite-utils を基盤とする、個人向け分析ツールのファミリー

コメント