コード例 #1
0
    def test_to_json_stat_value(self):
        """ Test pyjstat to_json_stat() custom value column"""

        results = pyjstat.from_json_stat(self.sample_dataset, value='measure')
        json_data = json.loads(pyjstat.to_json_stat(results, value='measure'),
                               object_pairs_hook=OrderedDict)
        self.assertTrue(json_data[0]["dataset1"]["measure"][0] == 4729)
コード例 #2
0
    def test_to_json_stat_types(self):
        """ Test pyjstat to_json_stat() output types"""

        results = pyjstat.from_json_stat(self.oecd_datasets)
        json_data = json.loads(pyjstat.to_json_stat(results),
                               object_pairs_hook=OrderedDict)
        self.assertTrue(json_data[0]["dataset1"]["dimension"]
                        ["OECD countries, EU15 and total"]["category"]["index"]
                        ["Spain"] == 28)
        self.assertTrue(
            type(json_data[0]["dataset1"]["dimension"]
                 ["OECD countries, EU15 and total"]["category"]["index"]
                 ["Spain"]) is int)
        self.assertTrue(json_data[0]["dataset1"]["dimension"]
                        ["OECD countries, EU15 and total"]["category"]["label"]
                        ["France"] == "France")
        self.assertTrue(
            type(
                str(json_data[0]["dataset1"]["dimension"]
                    ["OECD countries, EU15 and total"]["category"]["label"]
                    ["France"])) is str)
        self.assertTrue(json_data[0]["dataset1"]["dimension"]["2003-2014"]
                        ["category"]["index"]["2005"] == 2)
        self.assertTrue(json_data[0]["dataset1"]["dimension"]["2003-2014"]
                        ["category"]["label"]["2005"] == "2005")
        self.assertTrue(
            type(json_data[0]["dataset1"]["dimension"]["2003-2014"]["category"]
                 ["index"]["2005"]) is int)
        self.assertTrue(
            type(
                str(json_data[0]["dataset1"]["dimension"]["2003-2014"]
                    ["category"]["label"]["2005"])) is str)
コード例 #3
0
ファイル: test.py プロジェクト: masego24/pyjstat
 def test_convert_zeroes_not_null(self):
     """Test pyjstat to_json_stat zero conversion."""
     results = pyjstat.from_json_stat(self.sweden_dataset)
     json_data = json.loads(pyjstat.to_json_stat(results, output='dict'),
                            object_pairs_hook=OrderedDict)
     self.assertTrue(self.sweden_dataset['dataset']['value'][0] ==
                     json_data['dataset1']['value'][0])
コード例 #4
0
    def test_to_json_stat_value(self):
        """ Test pyjstat to_json_stat() custom value column"""

        results = pyjstat.from_json_stat(self.sample_dataset, value='measure')
        json_data = json.loads(pyjstat.to_json_stat(results, value='measure'),
                               object_pairs_hook=OrderedDict)
        self.assertTrue(json_data[0]["dataset1"]["measure"][0] == 4729)
コード例 #5
0
ファイル: test.py プロジェクト: andrewkittredge/pyjstat
    def test_to_json_stat_types(self):
        """ Test pyjstat to_json_stat() output types"""

        results = pyjstat.from_json_stat(self.oecd_datasets)
        json_data = json.loads(pyjstat.to_json_stat(results),
                               object_pairs_hook=OrderedDict)
        self.assertTrue(json_data[0]["dataset1"]["dimension"]
                        ["OECD countries,EU15 and total"]["category"]["index"]
                        ["Spain"] == 28)
        self.assertTrue(type(json_data[0]["dataset1"]["dimension"]
                        ["OECD countries,EU15 and total"]["category"]["index"]
                        ["Spain"]) is int)
        self.assertTrue(json_data[0]["dataset1"]["dimension"]
                        ["OECD countries,EU15 and total"]["category"]["label"]
                        ["France"] == "France")
        self.assertTrue(type(json_data[0]["dataset1"]["dimension"]
                        ["OECD countries,EU15 and total"]["category"]["label"]
                        ["France"]) is unicode)
        self.assertTrue(json_data[0]["dataset1"]["dimension"]
                        ["2003-2014"]["category"]["index"]
                        ["2005"] == 2)
        self.assertTrue(json_data[0]["dataset1"]["dimension"]
                        ["2003-2014"]["category"]["label"]
                        ["2005"] == "2005")
        self.assertTrue(type(json_data[0]["dataset1"]["dimension"]
                        ["2003-2014"]["category"]["index"]
                        ["2005"]) is int)
        self.assertTrue(type(json_data[0]["dataset1"]["dimension"]
                        ["2003-2014"]["category"]["label"]
                        ["2005"]) is unicode)
コード例 #6
0
    def test_convert_zeroes_not_null(self):
        """ Test pyjstat to_json_stat zero conversion"""

        results = pyjstat.from_json_stat(self.sweden_dataset)
        json_data = json.loads(pyjstat.to_json_stat(results, output='dict'),
                               object_pairs_hook=OrderedDict)
        self.assertTrue(self.sweden_dataset['dataset']['value'][0] ==
                        json_data['dataset1']['value'][0])
コード例 #7
0
 def test_ons_index_sort_bug(self):
     """ Test pyjstat from_json_stat dimension sorting"""
     results = pyjstat.from_json_stat(self.ons_dataset)
     json_data = json.loads(pyjstat.to_json_stat(results, output='dict'),
                            object_pairs_hook=OrderedDict)
     self.assertTrue(
         self.ons_dataset['A02Level']['dimension']['CL_0000667']['category']
         ['index']['CI_0018938'] == json_data['dataset1']['dimension']
         ['Age']['category']['index']['16-17'])
コード例 #8
0
ファイル: test.py プロジェクト: masego24/pyjstat
 def test_ons_index_sort_bug_index(self):
     """Test from_json_stat dimension sorting indexes instead of labels."""
     results = pyjstat.from_json_stat(self.ons_dataset, naming='id')
     json_data = json.loads(pyjstat.to_json_stat(results, output='dict'),
                            object_pairs_hook=OrderedDict)
     self.assertTrue(
         self.ons_dataset['A02Level']['dimension']['CL_0000667']['category']
         ['index']['CI_0018938'] == json_data['dataset1']['dimension']
         ['CL_0000667']['category']['index']['CI_0018938'])
コード例 #9
0
ファイル: test.py プロジェクト: jmvg/pyjstat
    def test_uk_dataset(self):
        """ Test pyjstat using a different ONS dataset"""

        results = pyjstat.from_json_stat(self.uk_dataset)
        json_data = json.loads(pyjstat.to_json_stat(results, output="dict"), object_pairs_hook=OrderedDict)
        self.assertTrue(len(results[0].columns) == 5)
        self.assertTrue(len(results[0].index) == 3)
        self.assertTrue(self.uk_dataset["QS104EW"]["value"]["0"] == json_data["dataset1"]["value"][0])
        self.assertTrue(self.uk_dataset["QS104EW"]["value"]["2"] == json_data["dataset1"]["value"][2])
コード例 #10
0
 def test_ons_index_sort_bug(self):
     """ Test pyjstat from_json_stat dimension sorting"""
     results = pyjstat.from_json_stat(self.ons_dataset)
     json_data = json.loads(pyjstat.to_json_stat(results, output='dict'),
                            object_pairs_hook=OrderedDict)
     self.assertTrue(self.ons_dataset['A02Level']['dimension']['CL_0000667']
                     ['category']['index']['CI_0018938'] ==
                     json_data['dataset1']['dimension']['Age']['category']
                     ['index']['16-17'])
コード例 #11
0
ファイル: test.py プロジェクト: jmvg/pyjstat
    def test_to_json_stat(self):
        """ Test pyjstat to_json_stat()"""

        results = pyjstat.from_json_stat(self.oecd_datasets)
        json_data = json.loads(pyjstat.to_json_stat(results), object_pairs_hook=OrderedDict)
        self.assertTrue(json_data[0]["dataset1"]["dimension"]["indicator"]["label"] == "indicator")
        self.assertTrue(json_data[0]["dataset1"]["dimension"]["size"][1] == 36)
        self.assertTrue(json_data[1]["dataset2"]["dimension"]["id"][2] == "age group")
        self.assertTrue(json_data[0]["dataset1"]["value"][-1], results[0][-1:]["value"])
        results[0].columns = ["a", "a", "b", "value"]
        self.assertRaises(ValueError, pyjstat.to_json_stat, results)
コード例 #12
0
ファイル: test.py プロジェクト: masego24/pyjstat
 def test_uk_dataset(self):
     """Test pyjstat using a different ONS dataset."""
     results = pyjstat.from_json_stat(self.uk_dataset)
     json_data = json.loads(pyjstat.to_json_stat(results, output='dict'),
                            object_pairs_hook=OrderedDict)
     self.assertTrue(len(results[0].columns) == 5)
     self.assertTrue(len(results[0].index) == 3)
     self.assertTrue(self.uk_dataset['QS104EW']['value']['0'] ==
                     json_data['dataset1']['value'][0])
     self.assertTrue(self.uk_dataset['QS104EW']['value']['2'] ==
                     json_data['dataset1']['value'][2])
コード例 #13
0
ファイル: test.py プロジェクト: jmvg/pyjstat
    def test_us_labor_dataset(self):
        """ Test pyjstat using a us labor dataset of class dataset"""

        results = pyjstat.from_json_stat(self.uslabor_dataset)
        json_data = json.loads(pyjstat.to_json_stat(results, output="dict"), object_pairs_hook=OrderedDict)
        self.assertTrue(self.uslabor_dataset["class"] == "dataset")
        self.assertTrue(len(results[0].columns) == 4)
        self.assertTrue(len(results[0].index) == 12880)
        self.assertTrue(self.uslabor_dataset["value"][0] == json_data["dataset1"]["value"][0])
        self.assertTrue(self.uslabor_dataset["value"][547] == json_data["dataset1"]["value"][547])
        self.assertTrue(self.uslabor_dataset["value"][-1] == json_data["dataset1"]["value"][-1])
コード例 #14
0
ファイル: test.py プロジェクト: jmvg/pyjstat
    def test_class_dataset(self):
        """ Test pyjstat using class dataset from v1.02"""

        results = pyjstat.from_json_stat(self.galicia_dataset)
        json_data = json.loads(pyjstat.to_json_stat(results, output="dict"), object_pairs_hook=OrderedDict)
        self.assertTrue(self.galicia_dataset["class"] == "dataset")
        self.assertTrue(len(results[0].columns) == 7)
        self.assertTrue(len(results[0].index) == 3960)
        self.assertTrue(self.galicia_dataset["value"][0] == json_data["dataset1"]["value"][0])
        self.assertTrue(self.galicia_dataset["value"][547] == json_data["dataset1"]["value"][547])
        self.assertTrue(self.galicia_dataset["value"][-1] == json_data["dataset1"]["value"][-1])
コード例 #15
0
ファイル: test.py プロジェクト: jmvg/pyjstat
    def test_from_to_json_stat_no_loads(self):
        """ Test pyjstat nested from-to json_stat using list of dicts as input
        """

        results = pyjstat.from_json_stat(self.oecd_datasets)
        json_data = json.loads(pyjstat.to_json_stat(results), object_pairs_hook=OrderedDict)
        data_df = pyjstat.from_json_stat(json_data)
        line_thirty = ["unemployment rate", "Belgium", "2009", 7.891892855]
        dimensions = pyjstat.get_dimensions(self.oecd_datasets["oecd"], "label")
        self.assertTrue(len(data_df) == 2)
        self.assertTrue(set(data_df[0].columns.values[:-1]) == set(dimensions[1]))
        self.assertTrue(set(data_df[0].iloc[30].values) == set(line_thirty))
コード例 #16
0
    def test_uk_dataset(self):
        """ Test pyjstat using a different ONS dataset"""

        results = pyjstat.from_json_stat(self.uk_dataset)
        json_data = json.loads(pyjstat.to_json_stat(results, output='dict'),
                               object_pairs_hook=OrderedDict)
        self.assertTrue(len(results[0].columns) == 5)
        self.assertTrue(len(results[0].index) == 3)
        self.assertTrue(self.uk_dataset['QS104EW']['value']['0'] ==
                        json_data['dataset1']['value'][0])
        self.assertTrue(self.uk_dataset['QS104EW']['value']['2'] ==
                        json_data['dataset1']['value'][2])
コード例 #17
0
ファイル: test.py プロジェクト: masego24/pyjstat
 def test_from_to_json_stat_no_loads(self):
     """Test pyjstat nested from-to json_stat w list of dicts as input."""
     results = pyjstat.from_json_stat(self.oecd_datasets)
     json_data = json.loads(pyjstat.to_json_stat(results),
                            object_pairs_hook=OrderedDict)
     data_df = pyjstat.from_json_stat(json_data)
     line_thirty = ['unemployment rate', 'Belgium', '2009', 7.891892855]
     dimensions = pyjstat.get_dimensions(self.oecd_datasets['oecd'],
                                         'label')
     self.assertTrue(len(data_df) == 2)
     self.assertTrue(
         set(data_df[0].columns.values[:-1]) == set(dimensions[1]))
     self.assertTrue(set(data_df[0].iloc[30].values) == set(line_thirty))
コード例 #18
0
ファイル: test.py プロジェクト: masego24/pyjstat
 def test_us_labor_dataset(self):
     """Test pyjstat using a us labor dataset of class dataset."""
     results = pyjstat.from_json_stat(self.uslabor_dataset)
     json_data = json.loads(pyjstat.to_json_stat(results, output='dict'),
                            object_pairs_hook=OrderedDict)
     self.assertTrue(self.uslabor_dataset['class'] == 'dataset')
     self.assertTrue(len(results[0].columns) == 4)
     self.assertTrue(len(results[0].index) == 12880)
     self.assertTrue(self.uslabor_dataset['value'][0] ==
                     json_data['dataset1']['value'][0])
     self.assertTrue(self.uslabor_dataset['value'][547] ==
                     json_data['dataset1']['value'][547])
     self.assertTrue(self.uslabor_dataset['value'][-1] ==
                     json_data['dataset1']['value'][-1])
コード例 #19
0
ファイル: test.py プロジェクト: masego24/pyjstat
 def test_to_json_stat(self):
     """Test pyjstat to_json_stat()."""
     results = pyjstat.from_json_stat(self.oecd_datasets)
     json_data = json.loads(pyjstat.to_json_stat(results),
                            object_pairs_hook=OrderedDict)
     self.assertTrue(json_data[0]["dataset1"]["dimension"]["indicator"]
                     ["label"] == "indicator")
     self.assertTrue(json_data[0]["dataset1"]["dimension"]["size"][1] == 36)
     self.assertTrue(
         json_data[1]["dataset2"]["dimension"]["id"][2] == "age group")
     self.assertTrue(json_data[0]["dataset1"]["value"][-1],
                     results[0][-1:]['value'])
     results[0].columns = ['a', 'a', 'b', 'value']
     self.assertRaises(ValueError, pyjstat.to_json_stat, results)
コード例 #20
0
ファイル: test.py プロジェクト: masego24/pyjstat
 def test_class_dataset(self):
     """Test pyjstat using class dataset from v1.02."""
     results = pyjstat.from_json_stat(self.galicia_dataset)
     json_data = json.loads(pyjstat.to_json_stat(results, output='dict'),
                            object_pairs_hook=OrderedDict)
     self.assertTrue(self.galicia_dataset['class'] == 'dataset')
     self.assertTrue(len(results[0].columns) == 7)
     self.assertTrue(len(results[0].index) == 3960)
     self.assertTrue(self.galicia_dataset['value'][0] ==
                     json_data['dataset1']['value'][0])
     self.assertTrue(self.galicia_dataset['value'][547] ==
                     json_data['dataset1']['value'][547])
     self.assertTrue(self.galicia_dataset['value'][-1] ==
                     json_data['dataset1']['value'][-1])
コード例 #21
0
    def test_from_to_json_stat_as_dict(self):
        """ Test pyjstat nested from-to json_stat using dict of dicts as input
        """

        results = pyjstat.from_json_stat(self.oecd_datasets)
        json_data = json.loads(pyjstat.to_json_stat(results, output='dict'),
                               object_pairs_hook=OrderedDict)
        data_df = pyjstat.from_json_stat(
            json.loads(json.dumps(json_data), object_pairs_hook=OrderedDict))
        line_thirty = ['unemployment rate', 'Belgium', '2009', 7.891892855]
        dimensions = pyjstat.get_dimensions(self.oecd_datasets['oecd'],
                                            'label')
        self.assertTrue(len(data_df) == 2)
        self.assertTrue(set(data_df[0].columns.values[:-1]) ==
                        set(dimensions[1]))
        self.assertTrue(set(data_df[0].iloc[30].values) ==
                        set(line_thirty))
コード例 #22
0
ファイル: example.py プロジェクト: lla11358/pyjstat
# -*- coding: utf-8 -*-
""" pyjstat example with 0.3.5-like syntax for JSON-stat 1.3."""

from pyjstat import pyjstat
import requests
from collections import OrderedDict
import json


EXAMPLE_URL = 'http://json-stat.org/samples/us-labor-ds.json'

data = requests.get(EXAMPLE_URL)
results = pyjstat.from_json_stat(data.json(object_pairs_hook=OrderedDict))
print (results)
print (json.dumps(json.loads(pyjstat.to_json_stat(results))))
コード例 #23
0
# -*- coding: utf-8 -*-
import urllib2
import json
from pyjstat import pyjstat

results = pyjstat.from_json_stat(json.load(urllib2.urlopen(
    'http://json-stat.org/samples/oecd-canada.json')))
print results
print pyjstat.to_json_stat(results)