コンテンツにスキップ
Queria Docs
日本語
Esc
↑↓navigate↵open⌘Jpreview
このページの内容

ローカルデータと掛け合わせる

手元の CSV / Parquet を Queria のデータセットと JOIN して分析する

Queria CLI と Python API の実体は DuckDB なので、read_csv / read_parquet などの関数がそのまま使えます。手元のファイルと Queria の公開データセットを、1つの SQL で直接 JOIN できます。

例: 拠点リストに県別人口を付ける

手元に拠点リスト offices.csv があるとします:

pref,office
東京都,本社
大阪府,西日本支社
福岡県,九州支社

都道府県名をキーに、e-Stat の総人口を結合します。データセット側は参照するだけで自動的に ATTACH されるため、事前準備は不要です:

queria sql "
  SELECT o.office, e.area_name, e.value AS population
  FROM read_csv('offices.csv') o
  JOIN e_stat.ssds.a_pref_population e
    ON e.area_name = o.pref
  WHERE e.item_name = 'A1101_総人口' AND e.year = 2024
  ORDER BY population DESC
"

結果をファイルに残すには --out を使います:

queria sql "..." --out result.parquet

Parquet や JSON も同じ

DuckDB が読める形式なら何でも同じ書き方で掛け合わせられます:

queria sql "
  SELECT *
  FROM read_parquet('sales.parquet') s
  JOIN zipcode.main.mart_zipcode z ON z.zipcode = s.zipcode
"

Python から使う

Python API でも同様です。pandas DataFrame は con.sql からそのまま参照できます:

import queria

con = queria.connect()
df = con.sql("""
  SELECT o.office, e.value AS population
  FROM read_csv('offices.csv') o
  JOIN e_stat.ssds.a_pref_population e ON e.area_name = o.pref
  WHERE e.item_name = 'A1101_総人口' AND e.year = 2024
""").df()

このページは役に立ちましたか?