6.13. Dictionary

6.13.1. Dict

class easydata.parsers.dict.Dict(query: Optional[easydata.queries.base.QuerySearchBase] = None, key_parser: Optional[easydata.parsers.base.Base] = None, val_parser: Optional[easydata.parsers.base.Base] = None, key_query: Optional[easydata.queries.base.QuerySearchBase] = None, val_query: Optional[easydata.queries.base.QuerySearchBase] = None, dict_val_from_key: bool = False, ignore_non_values: bool = False, ignore_non_keys: bool = True, key_normalize: bool = True, key_title: bool = False, key_uppercase: bool = False, key_lowercase: bool = False, key_replace_keys: Optional[list] = None, key_remove_keys: Optional[list] = None, key_split_text_key: Optional[Union[str, tuple]] = None, key_split_text_keys: Optional[List[Union[str, tuple]]] = None, key_take: Optional[int] = None, key_skip: Optional[int] = None, key_fix_spaces: bool = True, key_allow: Optional[Union[List[str], str]] = None, key_callow: Optional[Union[List[str], str]] = None, key_deny: Optional[Union[List[str], str]] = None, key_cdeny: Optional[Union[List[str], str]] = None, key_default: Optional[str] = None, **kwargs)[source]

Bases: easydata.parsers.base.BaseData

examples coming soon …

Parameters

query
key_parser
val_parser
key_query
val_query
dict_val_from_key
ignore_non_values
  • Default: False

Ignore all keys in a dict that has None type.

ignore_non_keys
  • Default: True

Ignore all values in a dict that has None type.

key_normalize
  • Default: True

When set to True, it will fix bad encoding in dict keys.

key_title
  • Default: False

When set to True, it will convert in a dict key all first chars in a word to uppercase.

key_uppercase
  • Default: False

When set to True, it will convert all chars in a dict keys to uppercase.

key_lowercase
  • Default: False

When set to True, it will convert all chars in a dict keys to lowercase.

key_replace_keys
  • Default: None

We can replace chars/words in a dict keys through key_replace_keys parameter. key_replace_keys can accept regex pattern as a lookup key and is not case sensitive.

key_remove_keys
  • Default: None

We can remove chars/words in a dict keys through key_remove_keys parameter. key_remove_keys can accept regex pattern as a lookup key and is not case sensitive.

key_split_text_key
  • Default: None

Text in a dict key can be split with key_split_text_key. By default split index is 0.

key_split_text_keys
  • Default: None

key_split_text_keys work in a same way as key_split_text_key but instead of single split key it accepts list of keys.

key_take
  • Default: None

With key_take parameter we can limit maximum number of chars in a dict keys.

key_skip
  • Default: None

With key_skip parameter we can skip defined number of chars from the start in a dict keys.

key_fix_spaces
  • Default: True

With key_fix_spaces parameter set to True, all multiple spaces between chars will be removed and left with only single one between chars.

key_allow
key_callow
key_deny
key_cdeny
key_default

6.13.2. TextDict

class easydata.parsers.dict.TextDict(*args, val_normalize: bool = True, val_title: bool = False, val_uppercase: bool = False, val_lowercase: bool = False, val_replace_keys: Optional[list] = None, val_remove_keys: Optional[list] = None, val_split_text_key: Optional[Union[str, tuple]] = None, val_split_text_keys: Optional[List[Union[str, tuple]]] = None, val_take: Optional[int] = None, val_skip: Optional[int] = None, val_fix_spaces: bool = True, val_allow: Optional[Union[List[str], str]] = None, val_callow: Optional[Union[List[str], str]] = None, val_deny: Optional[Union[List[str], str]] = None, val_cdeny: Optional[Union[List[str], str]] = None, **kwargs)[source]

Bases: easydata.parsers.dict.Dict

examples coming soon …

Parameters

val_normalize
  • Default: True

When set to True, it will fix bad encoding in dict values.

val_title
  • Default: False

When set to True, it will convert in a dict value all first chars in a word to uppercase.

val_uppercase
  • Default: False

When set to True, it will convert all chars in a dict values to uppercase.

val_lowercase

When set to True, it will convert all chars in a dict values to lowercase.

val_replace_keys
val_remove_keys
val_split_text_key
val_split_text_keys
val_take
val_skip
val_fix_spaces
val_allow
val_callow
val_deny
val_cdeny

6.13.3. HasDict

class easydata.parsers.dict.HasDict(*args, val_contains: Optional[Union[list, str]] = None, val_ccontains: Optional[Union[list, str]] = None, val_contains_query: Optional[easydata.queries.base.QuerySearchBase] = None, val_empty_as_false: bool = True, **kwargs)[source]

Bases: easydata.parsers.dict.TextDict

examples coming soon …

Parameters

val_contains
val_ccontains
val_contains_query
val_contains_query_source
val_empty_as_false

6.13.4. PriceFloatDict

class easydata.parsers.dict.PriceFloatDict(*args, val_decimals: Optional[int] = None, val_min_value: Optional[Union[float, int]] = None, val_max_value: Optional[Union[float, int]] = None, **kwargs)[source]

Bases: easydata.parsers.dict.TextDict

examples coming soon …

Parameters

val_decimals
  • Default: 2

We can manipulate how many decimals price in a parsed dict values will be have. By default this limit is 2, but we can change this value with a val_decimals parameter.

val_min_value
  • Default: None

val_max_value
  • Default: None

6.13.5. PriceTextDict

class easydata.parsers.dict.PriceTextDict(*args, val_decimals: Optional[int] = None, val_min_value: Optional[Union[float, int]] = None, val_max_value: Optional[Union[float, int]] = None, **kwargs)[source]

Bases: easydata.parsers.dict.PriceFloatDict

Works exactly the same as PriceFloatDict, but value type is str instead of float.