epogrebnyak / data-rosstat-kep

Time series dataset of Rosstat Short-term Economic Indicators ("KEP") publication
http://www.gks.ru/wps/wcm/connect/rosstat_main/rosstat/ru/statistics/publications/catalog/doc_1140080765391
6 stars 6 forks source link

Comment current project overview #134

Closed epogrebnyak closed 6 years ago

epogrebnyak commented 7 years ago

Что делает этот конкретный модуль

Ежемесячный парсинг основной публикации Росстата "Краткосрочные экономические показатели" с проверкой правильности данных

Сценарий работы модуля

  1. читаем исходные данные из CSV файла (генерируется за пределами этого пакета)
  2. читаем параметры парсинга
  3. тащим итоговые данные из CSV файла с учетом парамтеров парсинга
    • в заданной частоте: годовые, квартальные или месячные данные
    • формат итоговых данных: \<имя переменной> - \<год, квартал или месяц> - \<значение>
  4. проверяем правильность при помощи контрольных значений

Комментарий к исходным данным и алгоритму

Исходные данные в CSV файле были записаны из файлов Word (делается тут и только под Windows, сейчас не рассматриваем). В этом СSV файле, как правило, идет название таблицы, размерность, сама таблица, другая размерность, еще таблица и так далее.

Структура этих данных нечеткая:

Исходя из кривизны данных были приняты решения:

Что еще выяснилось при реалзации:

Куски сценария и модули программы

Текущая ветка: https://github.com/epogrebnyak/data-rosstat-kep/tree/kep2/kep2

1. исходные данные из CSV файла (csv_data.py))

2. параметры парсинга (parsing_defintions.py)

3. генерируем итоговые данные (datapoints.py)

Основные шаги:

4. проверяем правильность (reader.py)

    {'varname': 'IND_PROD_yoy', 'year': 2016, 'value': 101.3},
    {'varname': 'IND_PROD_yoy', 'year': 2016, 'value': 104.8},
    {'varname': 'PROD_AGRO_MEAT_yoy', 'year': 2016, 'value': 103.4},
    {'varname': 'PROD_AGRO_MEAT_yoy', 'year': 2016, 'value': 30724.0},
    {'varname': 'PROD_AGRO_MEAT_yoy', 'year': 2016, 'value': 99.8},