I have a lot of old Dbase files (.dbf) and I'll like to convert these
to SQLite databases as automatically as possible.
Does anybody know a tool/Python script to do so?
I know, I could use dbfpy and create the SQLite table and import all
data. But is there something easier?
Many thanks for a hint,
Helmut.
--
Helmut Jarausch
Lehrstuhl fuer Numerische Mathematik
RWTH - Aachen University
D 52056 Aachen, Germany
yes...
Use OpenOffice-Scalc or MS-Office-Excel to open the table...
Export to csv....
Use SQLite Manager (https://addons.mozilla.org/en-US/firefox/addon/5817)
and use the import wizard to import your data....
It shouldn't take too long...
David
Greetings!
If your tables are either dBase III or Visual Foxpro 6 (may work with
other VFP versions...) you can try
http://groups.google.com/group/python-dbase
#open table
import dbf
table = dbf.Table('/path/to/old/dbf')
#generate .csv file
table.export() # defaults to same name with csv extension
#access records
for rec in table:
tups = tuple(rec)
lst = list(rec)
dct = rec.scatter_fields()
I haven't used SQlite, so I'm unable to provide samples for that portion
of the conversion.
Hope this helps.
~Ethan~
Max 64K rows for Scalc and Excel 2003; 2007 can take 2**20 rows.
Only old dBase (not dBase 7). Memo fields not handled. Visual FoxPro
DBFs not supported by Excel even tho' VFP is an MS product.
> Export to csv....
Yuk.
>
> Use SQLite Manager (https://addons.mozilla.org/en-US/firefox/addon/5817)
>
> and use the import wizard to import your data....
>
> It shouldn't take too long...
... before you get sick of the error-prone manual tasks.
I'd write a script that took a DBF file, analysed the field
descriptions, made a CREATE TABLE statement, executed it, and then
started doing inserts. Fairly easy to write. Scripts have the great
benefit that you can fix them and re-run a whole lot easier than
redoing manual steps.
If dbfpy can't handle any new-fangled stuff you may have in your
files, drop me a line ... I have a soon-to-be released DBF module that
should be able to read the "new" stuff up to dBase7 and VFP9,
including memo files, conversion from whatever to Unicode if
needed, ...
Cheers,
John
> If dbfpy can't handle any new-fangled stuff you may have in your
> files, drop me a line ... I have a soon-to-be released DBF module that
> should be able to read the "new" stuff up to dBase7 and VFP9,
> including memo files, conversion from whatever to Unicode if
> needed, ...
>
> Cheers,
> John
Cool! I'm looking forward to it!
~Ethan~