Skip to content

ljleppan/py3-opendata

 
 

Repository files navigation

PC Axis PX file format reader for Python

WIP

Now requires Python 3, but has not been tested beyond a simple Download -> PX file on disk -> Pandas Dataframe workflow on Python 3.6 and Pandas 0.20.2. Python 2 is not supported at the moment (PX file -> Pandas DataFrame works on commit 7669e5ccb5b8e0825d1044d5fe908b162904a523, current status in unknown).

Usage

Requisite packages:

pip install pandas

To fetch list of available PX files

import statsfi_px_api
px_info = statsfi_px_api.list_available_px(url="http://pxweb2.stat.fi/database/StatFin/StatFin_rap.csv")

To download PX Files to disk (default to current directory)

statsfi_px_api.download_px(px_info, target_dir=".", compressed=False, sleep=1)

NB: Setting compressed=True is broken at 2017-07-12 due to stats.fi API not behaving as documented.

To read files into Pandas DataFrames

import px_reader
px_obj = px_reader.Px('a_px_file_on_filesystem.px')
pandas_dataframe = px_obj.pd_dataframe()

Features

Notable feature is conversion to a Pandas DataFrame using MultiIndex, which supports multidimensional table object. Pandas calls this hierarchical indexing. Pandas has an extensive feature list. Thus you can use PC Axis files for data analysis, visualization and export to other data formats.

Installing scientific Python toolset can be a daunting task. One option is the Anaconda distribution. Otherwise Pandas installation may work with just pip install pandas. This code is unsupported, but please create an issue if you run into problems.

License

This repository is a fork from https://github.com/jussiarpalahti/opendata which in turn is forked from https://github.com/statfi/opendata

Below is its license which applies here also

All code here is under the BSD license unless otherwise stated. Otherwise Mozilla public license (MPL) is used since it supports both open and proprietary development alike.

About

PC Axis PX file format reader for Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%