5

dBase III データベース ファイル (DBF) を検索する必要があるアプリケーションを Python で開発しようとしています。しばらく探していましたが、これを行う方法に関する適切なドキュメントが見つかりません。DBFpy を使用してみましたが、列のインデックス作成/検索方法に関するドキュメントが見つかりません。私もこのスレッドのアドバイスに従おうとしましたが、明らかに私の DBF ファイルは「閉じられています」。ここにリストされている呼び出しを調べましたが、ファイルを「開く」方法を特定できませんでした。ドキュメント付きのDBFファイルを操作するためのpythonモジュールを推奨するか、他のDBF pythonモジュールを適切に使用する方法を教えてください。ありがとう!

4

1 に答える 1

6

私の dbf モジュールを使用すると、基本的なフローは次のようになります。

import dbf

some_table = dbf.Table('/path/to/table.dbf')  # table is closed
some_table.open()
index = some_table.create_index(record_indexer)
.
.
.
records = index.search(match=(some_value,))   # returns a dbf.List of matching records

適切なインデックス値をrecord_indexer返す関数です。それは次のように簡単にすることができます

lambda rec: rec.desired_field

または必要に応じて複雑にします。

def record_indexer(record):
    if record.that_field == 'bad value':
        return dbf.DoNotIndex             # record is ignored
    return record.this_field, record.other
于 2012-12-23T18:16:51.407 に答える