diff --git a/shapefile.py b/shapefile.py index f57ef31..45ddca1 100644 --- a/shapefile.py +++ b/shapefile.py @@ -485,9 +485,17 @@ def __record(self): if value == b(''): value = 0 elif deci: - value = float(value) + try: + value = float(value) + except ValueError: + #not parseable as float, set to None + value = None else: - value = int(value) + try: + value = int(value) + except ValueError: + #not parseable as int, set to None + value = None elif typ == b('D'): try: y, m, d = int(value[:4]), int(value[4:6]), int(value[6:8])