/wikitables

Import tables from any Wikipedia article as a dataset in Python

Primary LanguagePythonMIT LicenseMIT

wikitables

Documentation Status PyPI version

Import tables from any Wikipedia article as a dataset in Python

NOTE: Wikitables is a Python3-only library currently. Python2 support is planned.

Installing

pip install wikitables

Usage

Importing all tables from a given article:

from wikitables import import_tables
tables = import_tables('List of cities in Italy') #returns a list of WikiTable objects

To import an article from a different language, simply add the Wikipedia language code as an argument to import_tables

tables = import_tables('İtalya\'daki_şehirler_listesi', 'tr') #returns a list of WikiTable objects

Iterate over a table's rows:

print(tables[0].name)
for row in tables[0].rows:
    print('{City}: {Area(km2)}'.format(**row))

output:

List of cities in Italy[0]
Milan: 4,450.11
Naples: 3,116.52
Rome: 3,340.41
Turin: 1,328.40
...

Or return the table encoded as JSON:

tables[0].json()

output:

[
    {
        "City": "Milan",
        "Population January 1, 2014": "6,623,798",
        "Density(inh./km2)": "1,488",
        "Area(km2)": "4,450.11"
    },
    {
        "City": "Naples",
        "Population January 1, 2014": "5,294,546",
        "Density(inh./km2)": "1,699",
        "Area(km2)": "3,116.52"
    },
    ...

Full documentation available here

Roadmap

Some planned and wishlist features:

  • Python2 support
  • Type guesing from MediaWiki template values