Pythonからの接続
duckdb パッケージで DuckLake カタログをアタッチし、結果を pandas DataFrame として受け取る例です。e-Stat 政府統計データから都道府県別の総人口 TOP10 を取り出してみます。
import duckdb
conn = duckdb.connect()
conn.execute("INSTALL ducklake; LOAD ducklake;")
conn.execute("""
ATTACH 'ducklake:https://data.queria.io/e_stat/ducklake.duckdb'
AS e_stat (READ_ONLY)
""")
df = conn.execute("""
SELECT DISTINCT area_name, value AS population
FROM e_stat.ssds.a_pref_population
WHERE item_name = 'A1101_総人口'
AND year = 2024
AND area_name != '全国'
ORDER BY value DESC
LIMIT 10
""").fetchdf()
print(df.head())
fetchdf() で pandas の DataFrame として取得できるほか、fetch_arrow_table() で Apache Arrow テーブルとして受け取ることもできます。matplotlib や Plotly につなげて棒グラフ・地図に展開する起点になります。