PYTHON ヘルプ

sqlite utils Python (開発者のための仕組み)

イントロダクション

SQLite-utils Pythonパッケージは、SQLiteデータベースを操作するためのPythonユーティリティ関数を含む多用途なツールです。 コマンドラインインターフェース(CLI)とPythonライブラリを提供しており、SQLiteデータベースの作成、操作、クエリを簡単に行うことができます。 その特徴とコード例を見てみよう。 この記事の後半では、IronPDFIron Softwareによって開発されたPDF生成ライブラリを探求します。

SQLite-utilsの概要

SQLite-utils は、SQLiteデータベースの操作に関連するさまざまなタスクを簡素化するために設計されています。 主要な機能には以下が含まれます:

  • データベースの作成と管理: 新しいデータベースとテーブルを簡単に作成できます。
  • データの挿入とクエリ: JSONデータ、CSV、またはTSVファイルを挿入して、SQLクエリを実行します。
  • 全文検索:全文検索クエリを設定して実行します。
  • スキーマ変換: SQLite の ALTER TABLE では直接サポートされていないスキーマ変更を実行します。
  • データの正規化:データを正規化するために、列を別々のテーブルに抽出します。
  • カスタムSQL関数: プラグインをインストールしてカスタムSQL関数を追加します。

インストール

pipを使用してSQLite-utilsをインストールできます:

pip install sqlite-utils
pip install sqlite-utils
SHELL

あるいは、macOSでHomebrewを使う場合:

brew install sqlite-utils
py
PYTHON

SQLite-utilsをCLIツールとして使う

CLIツールを使えば、コマンドラインから直接さまざまな操作を行うことができる。以下はその例である:

データベースの作成とデータの挿入

新しいSQLiteデータベースを作成し、CSVファイルからデータを挿入してみましょう:

# Create a new database and insert data from a CSV file
sqlite-utils insert dogs.db dogs dogs.csv --csv
py
PYTHON

データ照会

以下のコマンドは、データベースからSQLクエリーを実行する方法です:

# Query the database and display results in JSON format
sqlite-utils dogs.db "select * from dogs" --json
py
PYTHON

リスト表

データベース内のすべてのテーブルを行数とともにリストアップする:

sqlite-utils tables dogs.db --counts
py
PYTHON

SQLite-utilsをPythonライブラリとして使う

SQLite-utils を Python ライブラリとして使用して、SQLite データベースとプログラムでやり取りすることもできます。

データベースの作成とデータの挿入

ここでは、Pythonを使って新しいデータベースを作成し、データを挿入する方法を説明します:

import sqlite_utils
# Create a new database
db = sqlite_utils.Database("demo_database.db")
# Insert data into a table
db["dogs"].insert_all([
    {"id": 1, "age": 4, "name": "Cleo"},
    {"id": 2, "age": 2, "name": "Pancakes"}
], pk="id")
py
PYTHON

データ照会

SQLクエリーを実行し、結果を取得することができます:

# Run a query and fetch results
rows = db.query("SELECT * FROM dogs")
for row in rows:
    print(row)
py
PYTHON

全文検索

テーブルの全文検索と検索クエリを有効にします:

# Enable full-text search
db["dogs"].enable_fts(["name"])
# Run a search query
results = db["dogs"].search("Cleo")
for result in results:
    print(result)
py
PYTHON

IronPDFの紹介

sqlite ユーティリティ Python(開発者向けの動作方法):図 1 - IronPDF: Python PDFライブラリ

IronPDF は、HTML、CSS、画像、JavaScript を使用してPDFの作成、編集、署名を行うために設計された強力なPythonライブラリです。 商業利用レベルのパフォーマンスを、低メモリフットプリントで提供します。 主要な機能には次のものが含まれます:

HTMLからPDFへの変換:

HTMLファイル、HTML文字列、URLをPDFに変換。 例えば、Chrome PDFレンダラーを使用してウェブページをPDFとしてレンダリングします。

クロスプラットフォームサポート:

.NET Core、.NET Standard、.NET Frameworkなど、さまざまな.NETプラットフォームに対応。 Windows、Linux、macOSに対応しています。

編集と署名:

プロパティを設定し、パスワードとアクセス許可を使用してセキュリティを追加し、PDFに電子署名を適用します。

ページテンプレートと設定:

ヘッダー、フッター、ページ番号、調整可能な余白でPDFをカスタマイズできます。 さらに、カスタム用紙サイズやレスポンシブ・レイアウトにも対応している。

標準準拠:

PDF/A、PDF/UAを含むPDF標準に準拠し、UTF-8文字エンコーディングに対応し、画像、CSS、フォントなどのアセットを管理します。

IronPDFとSqlite Utilsを使ってPDFドキュメントを生成する。

import sqlite_utils
from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
db = sqlite_utils.Database("mydatabase.db")
# Define a table schema
schema = {
    "id": int,
    "name": str,
    "age": int
}
# Create a table
db["users"].create(schema)
data = [
    {"id": 1, "name": "Alice", "age": 30},
    {"id": 2, "name": "Bob", "age": 28},
    {"id": 3, "name": "Charlie", "age": 32}
]
# Insert data into the table
db["users"].insert_all(data)
# Query all records
results = list(db["users"].rows)
# Filter records
filtered_results = list(db["users"].rows_where("age > ?", [30]))
# Display all records
rows = db.query("SELECT * FROM users")
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome IronPDF with Sqlite-Utils</h1>"
content += "<p>table data</p>"
for row in rows:
    print(row)
    content += "<p>"+str(row)+"</p>"
pdf = renderer.RenderHtmlAsPdf(content)    
    # Export to a file or Stream
pdf.SaveAs("DemoSqliteUtils.pdf")
py
PYTHON

コードの説明

このスクリプトはSQLite-utils PythonパッケージとIronPDFライブラリの機能を組み合わせてSQLiteデータベースを管理し、PDFドキュメントを生成します。 以下は、このコードが何をするのかを段階的に分解したものである:

  1. データベースの初期化:

    • SQLite-utilsを使用して"mydatabase4.db"という名前のSQLiteデータベースを初期化します。2. テーブル作成:
    • 列`id,` `name,` \および`age`でテーブルスキーマを定義します。
    • 定義されたスキーマを使用してSQLiteデータベースに「users」という名前のテーブルを作成します。3. データ挿入:
    • SQLite-utilsを使用して「users」テーブルに複数のレコードを挿入します。データクエリ:
    • 「users」テーブルからすべてのレコードを取得し、\<code>results\</code>に保存します。
    • `age` 列が30を超えるレコードをフィルタリングし、それを`filtered_results` に保存します。5. PDF生成:
    • IronPDFを利用してPDFドキュメントを作成します。
    • ヘ ッ ダ と SQLite デー タ ベース か ら 取得 し た表デー タ を含む、 PDF 文書のための HTML コ ン テ ン ツ を構築 し ます。
    • 生成されたPDFドキュメントを "DemoSqliteUtils.pdf "として保存します。

    全体として、このスクリプトは、PythonアプリケーションでSQLiteデータベースから取得した動的コンテンツからPDFドキュメントを生成するIronPDFと組み合わせて、テーブルの作成、データの挿入、クエリのようなデータベース管理タスクのためにSQLite-utilsを活用する方法を示します。

出力

sqlite utils Python(開発者向けの作業方法):図2 - コンソール出力例

PDF

sqlite utils Python (開発者向けの動作方法): 図3 - IronPDFを利用してレポートを生成するPDF出力の例

IronPDFライセンス

IronPDF はPythonのライセンスキーで動作します。 IronPDF for Pythonは購入前にその豊富な機能を試すことができる無料トライアルライセンスキーを提供しています。

IronPDFパッケージを使用する前に、ライセンスキーをスクリプトの最初に置いてください:

from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
py
PYTHON

結論

Sqlite-utilsはSQLiteデータベースを操作するための強力なツールです。 CLIとPythonライブラリの両方を提供している。 コマンドラインから素早くデータを操作する必要がある場合でも、SQLiteの操作をPythonアプリケーションに統合する必要がある場合でも、SQLiteは柔軟で使いやすいソリューションを提供します。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
< 以前
PyYAML (開発者のための仕組み)
次へ >
ElementTreeを使ったPythonでのXML解析