Skip to content

💻 ✏️ Программа для генерации наборов данных с различными типами полей, предназначенных для тестирования программного обеспечения. Она использует JSON для определения типов и полей в датасете.

Notifications You must be signed in to change notification settings

snikitin-de/Generator-datasets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💻 Generator datasets

💻 ✏️ Программа для генерации наборов данных с различными типами полей, предназначенных для тестирования программного обеспечения. Она использует JSON для определения типов и полей в датасете.

📄 Описание

Генерация наборов данных по описанной в JSON структуре.

Доступны 5 типов полей для генерации:

  • str — строковый;
  • float — вещественный;
  • int — целый;
  • datetime — дата/время;
  • bool — логический.

📄 Описание формата конфигурации датасета

📝 Блок variables

Настройка параметров генерации

  • row_count — количество строк генерации;
  • file_dataset — путь к файлу в который запишется сгенерированный набор данных;
  • separator — разделитель полей.

📝 Блок columns

Описание структуры полей для генерации

  • col1 — имя генерируемого поля;
  • min_value — минимальное значение для генерации (используется в типах полей str, float, int и datetime, в str означает минимальную длину генерируемой строки);
  • max_value — максимальное значение для генерации (используется в типах полей str, float, int и datetime, в str означает максимальную длину генерируемой строки);
  • type_value — тип значений строк в поле (str, float, int, bool, datetime);
  • string — набор символов для генерации случайной строки (используется в типах полей str);
  • round_value — количество знаков после запятой для вещественного типа поля;
  • datetime_format — задает формат даты для генерации (используется в типах полей datetime).

📝 Пример структуры конфига dataset.json

{
    "variables" : {
	"row_count"   : 1000,
        "file_dataset": "dataset.csv",
        "separator"   : ";"
    },
    "columns" : {
	"col1" : {
	    "min_value"       : 5,
	    "max_value"       : 10,
	    "type_value"      : "str",
	    "string"          : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
	    "round_value"     : null,
	    "datetime_format" : null
	},
	"col2" : {
	    "min_value"       : 10000,
	    "max_value"       : 150200,
	    "type_value"      : "float",
	    "string"          : null,
	    "round_value"     : 2,
	    "datetime_format" : null
	},
	"col3" : {
	    "min_value"       : 1,
	    "max_value"       : 32,
	    "type_value"      : "int",
	    "string"          : null,
	    "round_value"     : null,
	    "datetime_format" : null
	},
	"col4" : {
	    "min_value"       : null,
	    "max_value"       : null,
	    "type_value"      : "bool",
	    "string"          : null,
	    "round_value"     : null,
	    "datetime_format" : null
	},
	"col5" : {
	    "min_value"       : "01.01.2017 00:00:00",
	    "max_value"       : "01.01.2019 23:59:59",
	    "type_value"      : "datetime",
	    "string"          : null,
	    "round_value"     : null,
	    "datetime_format" : "%d.%m.%Y %H:%M:%S"
	}
    }
}

Примечание

В данном примере приведены поля всех типов, все, что не null обязательно к заполнению.

🔧 Техническая часть

💿 Установка

Для работы программы требуется библиотека click.

Установить библиотеку через PIP можно командой:

pip install click

Установить библиотеку через Anaconda можно командой:

conda install -c anaconda click.

Также необходимую библиотеку можно установить командой:

pip install -r requirements.txt.

💾 Использование

Для выполнения программы необходимо в терминал ввести команду:

python generator_datasets.py -j data\dataset.json.

About

💻 ✏️ Программа для генерации наборов данных с различными типами полей, предназначенных для тестирования программного обеспечения. Она использует JSON для определения типов и полей в датасете.

Topics

Resources

Stars

Watchers

Forks

Languages