Python: Konvertierung von dBase Datenbanken zu CSV
Neulich bin ich über dbf-Dateien (dBase Datenbanken) gestolpert. Ein Programm konnte ausschließlich dieses Format exportieren. Leider konnte Excel mit dieser Datei auch nicht viel anfangen. Wie also an die Daten kommen?
Mit ein bisschen Recherche stellte sich Python als Konvertierungswerkzeug heraus. Denkbar einfach war auch das entsprechende Programm:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
from pandas import DataFrame from dbfread import DBF import sys #First parameter: Input file input_file = sys.argv[1] #Second parameter: Output file output_file = sys.argv[2] dbf = DBF(input_file) frame = DataFrame(iter(dbf)) #Some data conversion, drop unwanted columns... #frame = frame.drop('PLAN', 1) frame = frame.drop('RAWSOURCE', 1) frame['PLAN'] = frame.PLAN.str.replace(r'\r\n', '') frame['SQL'] = frame.SQL.str.replace(r'\r\n', '') #Save to csv-File, Encoding UTF-8 frame.to_csv(output_file, encoding='utf-8') |
Der Aufruf des Programmes erfolgt dann in der Konsole:
|
1 |
dbf2csv.py inputfile.dbf outputfile.csv |