Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.



alexander smishlajev

Python module for reading and writing DBF files. Originally it was created by Jeff Kunce and later maintained by Hans Fiby.

Project Admins:

  • Fran García
    Fran García

    Bug: Reading (decoding) values ​​'' with dbfpy
    Function: decodevalue()
    When a DBF-file has the * (,
    , ...) character in one of the fields, an error message appears

    'invalid literal for int() with base 10: '***' '

    I propose the following change to the decode function:

    def decodeValue(self, value):
        """Return a number decoded from ``value``.
        If decimals is zero, value will be decoded as an integer;
        or as a float otherwise.
            Return value is a int (long) or float instance.
        value = value.strip(" \0")
        if "." in value:
            # a float (has decimal separator)
            return float(value)
        # NEW francisgg: * per whitespaces
        if "*" in value:
           value=value.replace('*', ' ')
           return value
        elif value:
            # must be an integer                
            return int(value)
            return 0

    Finally, I am a beginner and I hope your opinion.