

Client library for the PxWeb API to easily load data into a DataFrame.
Get started | Examples | Reference
- Automatic query batching to handle large queries to respect rate limits
- Multithreading for faster data fetching on large queries
- In-memory caching for quicker iterative use and exploration
- Wildcard support in queries
- BYODF (Bring Your Own DataFrame): native return formats for use with
pandasorpolars - Search for tables, browse and list tables, get metadata, and more
It has been tested with Statistics Sweden and Statistics Norway.
Note
pxwebpy only supports version 2.0 of the PxWeb API.
from pxweb import PxApi
import polars as pl
# Prepare to get data from the Statistics Norway API by using the builtin URL
api = PxApi("ssb")
# Set the language to english
api.language = "en"
# Check the population per year in Norway during the 1990's
data = api.get_table_data(
"06913",
value_codes={"Region": "0", "ContentsCode": "Folkemengde", "Tid": "199*"},
)
# Turn it into a polars dataframe
df = pl.DataFrame(data)
# A quick look at the result
print(df)shape: (10, 4)
┌─────────────────────┬──────────────────────┬──────┬─────────┐
│ region ┆ contents ┆ year ┆ value │
│ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str ┆ i64 │
╞═════════════════════╪══════════════════════╪══════╪═════════╡
│ 0 The whole country ┆ Population 1 January ┆ 1990 ┆ 4233116 │
│ 0 The whole country ┆ Population 1 January ┆ 1991 ┆ 4249830 │
│ 0 The whole country ┆ Population 1 January ┆ 1992 ┆ 4273634 │
│ 0 The whole country ┆ Population 1 January ┆ 1993 ┆ 4299167 │
│ 0 The whole country ┆ Population 1 January ┆ 1994 ┆ 4324815 │
│ 0 The whole country ┆ Population 1 January ┆ 1995 ┆ 4348410 │
│ 0 The whole country ┆ Population 1 January ┆ 1996 ┆ 4369957 │
│ 0 The whole country ┆ Population 1 January ┆ 1997 ┆ 4392714 │
│ 0 The whole country ┆ Population 1 January ┆ 1998 ┆ 4417599 │
│ 0 The whole country ┆ Population 1 January ┆ 1999 ┆ 4445329 │
└─────────────────────┴──────────────────────┴──────┴─────────┘