E
Ethan Furman
Greetings!
I am happy to announce the latest release of python-dBase (dbf for
short)! At this point it supports dBase III and Visual FoxPro 6 dbf files.
It's a bit quicker now since it's using array.array to hold the records
and not strings, and the API has been standardized. It also now has
much better, though still basic, documentation.
It was initially written to ease transition away from vfp files, but we
use it here everyday for processing both vfp and dBase files.
Drawbacks:
* it is not concurrent
* it does not support vfp auto-increment nor null fields
* entire table is read into memory, so large tables process slowly
* non-initialized logical fields show up as False (? ==> False)
Advantages:
* entire table is read into memory, so small to medium files process quickly
* memo fields (reading *and* writing) are supported
* :memory: tables can be used to hold result sets from bigger SQL tables
to ease data access
* custom date, datetime, and time wrappers to support empty date fields
* direct translation from dbf field to python data type
To-Do:
* add an option to not keep all records in memory for large tables
* add codepage support
* add more dbf formats (dBase IV, V, 7 -- any links to these layouts
would be /greatly/ appreciated!)
This release is available at PyPI -- just search for dbf!
As always, success stories and bug reports desired.
Happy Hacking!
~Ethan~
I am happy to announce the latest release of python-dBase (dbf for
short)! At this point it supports dBase III and Visual FoxPro 6 dbf files.
It's a bit quicker now since it's using array.array to hold the records
and not strings, and the API has been standardized. It also now has
much better, though still basic, documentation.
It was initially written to ease transition away from vfp files, but we
use it here everyday for processing both vfp and dBase files.
Drawbacks:
* it is not concurrent
* it does not support vfp auto-increment nor null fields
* entire table is read into memory, so large tables process slowly
* non-initialized logical fields show up as False (? ==> False)
Advantages:
* entire table is read into memory, so small to medium files process quickly
* memo fields (reading *and* writing) are supported
* :memory: tables can be used to hold result sets from bigger SQL tables
to ease data access
* custom date, datetime, and time wrappers to support empty date fields
* direct translation from dbf field to python data type
To-Do:
* add an option to not keep all records in memory for large tables
* add codepage support
* add more dbf formats (dBase IV, V, 7 -- any links to these layouts
would be /greatly/ appreciated!)
This release is available at PyPI -- just search for dbf!
As always, success stories and bug reports desired.
Happy Hacking!
~Ethan~