12.4. Serialization Normalization

12.4.1. Sequence

Mark,Watney,41
>>> def normalize(value, types=(int, float, str)):
...     if value == 'True':
...         return True
...     if value == 'False':
...         return False
...     if value == 'None':
...         return None
...     for typ in types:
...         try:
...             return typ(value)
...         except ValueError:
...             continue
>>>
>>>
>>> data = 'Mark,Watney,41'
>>>
>>> values = data.split(',')
>>> result = [normalize(x) for x in values]
>>>
>>> print(result)
['Mark', 'Watney', 41]

12.4.2. Mapping

firstname,lastname,age
Mark,Watney,41
>>> data = """firstname,lastname,age
... Alice,Apricot,25
... """

12.4.3. List of Sequence

firstname,lastname,age
Mark,Watney,41
Melissa,Lewis,40
Rick,Martinez,39
Alex,Vogel,40
Chris,Beck,36
Beth,Johanssen,29

12.4.4. List of Mappings

age,firstname,lastname
41,Mark,Watney
40,Melissa,Lewis
39,Rick,Martinez
40,Alex,Vogel
36,Chris,Beck
29,Beth,Johanssen

12.4.5. List of Instances

age,firstname,lastname
41,Mark,Watney
40,Melissa,Lewis
39,Rick,Martinez
40,Alex,Vogel
36,Chris,Beck
29,Beth,Johanssen