2008-09-01 111 views
21

UbuntuシステムにFoxPro(VFP9)DBFファイルがたくさんあります。これらをPythonで開くライブラリがありますか?私はそれらを読む必要があり、メモフィールドにもアクセスできることが好ましいでしょう。PythonからFoxPro DBFファイルを読み込む最も簡単な方法は何ですか?

更新:ありがとうございます@cnu、私はYusdi Santosoのdbf.pyを使用してうまく動作します。 1つの問題点:メモファイル名の拡張子は小文字である必要があります。.fptで、.FPTではなく、Windowsからファイル名がどのように来たのかがわかります。

答えて

7

お試しください。recipe on Active State

お試しいただけるDBFReader moduleもあります。

memo fieldsをサポートします。

+5

[DBFReaderモジュール](http://www.garshol.priv.no/download/software/python/dbfreader.py)は現在無効なリンクです。 – Caltor

+1

メモフィールドプログラムでは、そのインデックス番号に基づいてデータを取得する方法を正確なデータではなく、格納しています。 – MONTYHS

+0

2008年9月(回答の時間)以降、さらに多くのオプション(2015年11月)があります。例:https://pypi.python.org/pypi/dbf、https://pypi.python.org/pypi/ dbfread /、http://sourceforge.net/projects/dbfpy/。私は個人的にはdbfreadを選択しました。 –

16

私はdbfpyを好む。 .DBFファイルの読み込みと書き込みの両方をサポートしており、ほとんどの形式に対応できます。それは私が働いていたいくつかの古いシステムのレガシーDBFファイルを読み書きできる唯一の実装です。

9

これをまだチェックしているのであれば、私はGPL FoxPro-to-PostgreSQLコンバータをhttps://github.com/kstrauser/pgdbfに持っています。私たちは、テーブルをPostgreSQLに定期的にコピーして、迅速なレポートを作成します。

+0

私は偶然、これを見て何か他のものをチェックしていました。今、VFPとMS SQLから来ているpostgreSQLの恋人は、これを高く評価しています。ありがとう! –

5

私は読むことができました... VFP 9のファイルレイアウト変更された場合かわからない...それは、現在のdBase IIIおよびVisual FoxPro 6.0デシベルのファイルをサポートしてい

+1

最新のコードは[PyPI](http://pypi.python.org/pypi/dbf/)にあります。 –

8

http://groups.google.com/group/python-dbase

をチェックPyPI http://pypi.python.org/pypi/dbfのdbfパッケージを使用して、DBFファイル(関連付けられたBAK、CDX、FBT、TBKファイル**を持つ)私はPythonには新しく、DBFファイルについては何も知らないが、私のガールフレンドのビジネス(AIMsiと呼ばれる音楽店POSアプリケーションで作成)からDBFファイルを読むのは簡単だった。

DBFパッケージをインストールした後(私は適性を使用し、私は思うのdbfバージョン0.88をインストールし)、次のPythonコードが働いていた:私は今のところ知っているすべてのですが、うまくいけば、それが誰かのために有益なスタートだ

from dbf import * 
test = Table("testfile.dbf") 
for record in test: 
    print record 
    x = raw_input("") # to pause between showing records 

誰がこの質問を見つけましたか?

2012年4月21日SJK編集:イーサン・ファーマンさんのコメントごとに、私は実際にはデータファイルのは、DBFファイルのほかに、必要であったを知っていないことを指摘しなければなりません。 DBFだけを使用して初めてスクリプトを実行したとき、サポートファイルが不足していると訴えました。だから、私はBAK、CDX、FPT(私は編集前に言ったようにFBTではない)、TBKファイルをコピーし、それがうまくいった。

+1

このパッケージはまだIDX/CDXファイルをサポートしていませんが、今年はそれを実現したいと考えています。 –

+0

FPTではなくFBTだったのでしょうか? FPTファイルはメモファイルです。 CDXはインデックスファイルですが、@Ethanはこれらがサポートされていないと言っていますので、ファイルが見つからない可能性は低いです。 DBFに加えて、これらはDBF /テーブルを読むのに必要な唯一の3つのファイルです。 – Caltor

+0

うわー! Typo、私はFPTを意味しました。私ができるなら、上記で編集します。ありがとう! –

4

今は2016年です。dbfパッケージを使用して動作させなければなりませんでした。ここで私は、最初にいくつかのUnicodeのエラーを持っていましたが、メモをオフにすることで、その周りを得ただけでCSVに

import dbf 

d=dbf.Table('mydbf.dbf') 
d.open() 
dbf.export(d, filename='mydf_exported.csv', format='csv', header=True) 

をDBFファイルをエクスポートするのpython3バージョンです。

import dbf 

d=dbf.Table('mydbf.dbf', ignore_memos=True) 
d.open() 
dbf.export(d, filename='mydf_exported.csv', format='csv', header=True) 
関連する問題