Skip to main content

Web Scraper for Sweden COVID19 data.

Project description

Web Scraper of COVID-19 data for Sweden

Python package covid19sweden provides access to mortality and COVID-19 data of Sweden.

The data is scraped from:

Setup and usage

Install from pip with

pip install covid19sweden

Currently available functions are

  • deaths() fetching number of deaths
  • fohm.regions() and fohm.municipalities() fetching Covid-19 statistics in regions and municipalities.

Package is regularly updated. Update with

pip install --upgrade covid19sweden

Covid-19 Deaths

Fetch Covid-19 deaths by weeks using

import covid19sweden as SE

x = SE.covid_deaths(level = 1)

The data can be acquired split into regions or municipalities using granularity variable level

x_regions = SE.covid_deaths(level = 2)
x_municipalities = SE.covid_deaths(level = 3)

Deaths

Overall deaths in Sweden can be fetched such as

import covid19sweden as SWE

data = SWE.deaths()

The function returns pandas dataframe with the columns being years and rows being deaths of each age and

Level

Level is a setting for granularity of data

  1. Country level (default)
  2. State level
  3. Municipality level
import covid19sweden as SWE

# country level
x1a,x1b,x1u = SWE.deaths(level = 1)
# state level
x2a,x2b,x2u = SWE.deaths(level = 2)
# municipality level
x3a,x3b,x3u = SWE.deaths(level = 3)

By default the level is 1. Level settings can be implicitly changed in the function.

Weekly

Weekly is a setting of time axis of the data.

  • True - data are by weeks
  • False - data are by days

Default is False, data by days.

import covid19sweden as SWE

# weekly
xa,xb,xu = SWE.deaths(weekly = True)

Given setting will implicitly change per_gender_age = True, even though default is False. This behavior is described at section Verbose and alt.

Setting of weekly can be also implicitly changed if no data is available for given settings.

Per gender or age

The settings per_gender_age is controlling the deaths to be splitted into groups by gender (M,F) and age groups (mostly 0-64,65-79,80-89,90+).

import covid19sweden as SWE

# weekly
xa,xb,xu = SWE.deaths(per_gender_age = True)

Setting of per_gender_age can be implicitly changed if no data is available for given settings.

Verbose and alt

Not for all the combinations of the parameters the data is available. E.g. for level = 3, only daily data without gender and age distinguishing is available. Hence to minimize error rate, implicit parameter changes are introduced.

If the data for given settings is not available, a set of rules is applied to reach data:

  • if data is available for not per_gender_age, use them
  • if data is available for not weekly, use them
  • if data is available for not per_gender_age, not_weekly, use them

Implicit parameter change is announced on stdout. It can be switched off by setting verbose = False.

Sometimes multiple datasets with slight difference (or two conversions) are available. This is announced on stdout. Choosing an alternative data is done with alt = True.

Covid-19 in regions and municipalities

To fetch data in regions and municipalities, type

import covid19sweden as SWE

regions = SWE.fohm.regions()
municipalities = SWE.fohm.municipalities()

Only parameter for both functions is optional filename, that saves the data to csv output file.

SWE.fohm.municipalities(filename = "output.csv")

Commit

With a single call all the data handlers are called and their outputs as well as common input (xlsx file) is stored. Commit is stored directory commit_YYMMDD (in cwd) unless explicitly specified.

import covid19sweden as SWE
SWE.commit() # store all files

Explicit specification of directory is done with

SWE.commit("/var/latest_data")

Function will try to create the folder. It fails on existing files of the same name. Overwriting must be enabled

SWE.commit("/var/latest_data", overwrite = True)

TODO:

  • add fohm to commit

Contribution

Developed by Martin Benes.

Join on GitHub.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

covid19sweden-0.1.4.tar.gz (43.1 kB view details)

Uploaded Source

Built Distribution

covid19sweden-0.1.4-py3-none-any.whl (40.3 kB view details)

Uploaded Python 3

File details

Details for the file covid19sweden-0.1.4.tar.gz.

File metadata

  • Download URL: covid19sweden-0.1.4.tar.gz
  • Upload date:
  • Size: 43.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3rc1

File hashes

Hashes for covid19sweden-0.1.4.tar.gz
Algorithm Hash digest
SHA256 0083429e6ffb730481f4b372c91c133b441185b17c22ff38a37b37414c0a8448
MD5 9a63431934d638d5529a7b6c4a2d5401
BLAKE2b-256 e474e0b81bd890fe6a7e223d6b614f19faf58633ab5701e5a241e76b22e148d1

See more details on using hashes here.

File details

Details for the file covid19sweden-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: covid19sweden-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 40.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3rc1

File hashes

Hashes for covid19sweden-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1751f15b9e007893478e3f23d1b1279e95965db4173e6e429dd657747cd01046
MD5 9d7d124ab6cc5fa5abb926ac3aaad1d4
BLAKE2b-256 94703ca002ef3237205b39894b8d7584d88a661c9ebf3e6a04ac145c9cfcddf4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page