DBFというフォーマットのファイル(EXCELやACCESSで使うみたい)を、shなどのスクリプトから読み込みたいのですが、

普通に読み込むとデータ部分が読み取れるもののヘッダがが文字化け、というか選択不可能な空白になります。
他の部分も普通の文字列操作できないので困っています。

スクリプト言語から自由に操作するために以下のどれかを知っている方教えて下さい。
・LINUXで使える、DBFを操作するようなライブラリ。sh,perl,php,ruby,pythonなどスクリプト系で
・LINUXで使える、DBFをテキストデータ系のフォーマット(csv,xmlなど)に変換する機能を持ったソフト
・バイナリを弄るコツとか、DBFフォーマットのドキュメントとか、16進数と戦う何かの方法

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/12/10 19:43:19
  • 終了:2007/12/10 23:40:45

ベストアンサー

id:kn1967 No.2

kn1967回答回数2915ベストアンサー獲得回数3012007/12/10 22:15:50

ポイント45pt

(1)ライブラリ

Perl ならば DBD::XBase というモジュール があります。

Jan Pazdziora / DBD-XBase-0.241 - search.cpan.org

phpならば dBase 関数が用意されています。

PHP: dBase - Manual


(2)ソフト

xBASEのデータベースを扱えるLinux上で動くソフトということであれば

MySQLやPostgreSQLなどのデータベースはもとより

OpenOfficeのBASEなどのフロントエンドでも使えます。


データ量が少なければ多くの表計算ソフトでの利用も可能です。

(例えば OpenOfficeのCALCやMicrosoft Excel2003などは65535行までしか扱えない)


後々の運用を考えると

MySQLやPostgreSQLにインポートしてしまうのが良いかも知れませんが・・・。


(3)ドキュメント

DBFファイルのヘッダ部分にはバージョン、ヘッダの長さ、

そしてフィールド名と文字数(バイト)が書かれていて

後に続く部分が固定長テキストデータになっています。

詳しくは下記ページを参照してください。

Xbase Data file (*.dbf)

Xbase File Format Description

id:yshkw

phpで試してみましたが、再コンパイルが面倒だったのでperlで解決しました。

Xbaseというのがキーワードだったみたいですね。ドキュメントまでありがとうございました!

2007/12/10 23:40:17

その他の回答(1件)

id:garyo No.1

garyo回答回数1782ベストアンサー獲得回数962007/12/10 19:57:36

ポイント25pt

もしDBFがdBASEフォーマットなら以下はどうでしょうか。

dbf.rb は昔なつかしい dBASE というデータベースのファイルを読み書きするライブラリです。

http://jp.rubyist.net/magazine/?0013-CodeReview

id:yshkw

ちょうどrubyを勉強中だったので二重でありがたい情報でした。

2007/12/10 23:37:27
id:kn1967 No.2

kn1967回答回数2915ベストアンサー獲得回数3012007/12/10 22:15:50ここでベストアンサー

ポイント45pt

(1)ライブラリ

Perl ならば DBD::XBase というモジュール があります。

Jan Pazdziora / DBD-XBase-0.241 - search.cpan.org

phpならば dBase 関数が用意されています。

PHP: dBase - Manual


(2)ソフト

xBASEのデータベースを扱えるLinux上で動くソフトということであれば

MySQLやPostgreSQLなどのデータベースはもとより

OpenOfficeのBASEなどのフロントエンドでも使えます。


データ量が少なければ多くの表計算ソフトでの利用も可能です。

(例えば OpenOfficeのCALCやMicrosoft Excel2003などは65535行までしか扱えない)


後々の運用を考えると

MySQLやPostgreSQLにインポートしてしまうのが良いかも知れませんが・・・。


(3)ドキュメント

DBFファイルのヘッダ部分にはバージョン、ヘッダの長さ、

そしてフィールド名と文字数(バイト)が書かれていて

後に続く部分が固定長テキストデータになっています。

詳しくは下記ページを参照してください。

Xbase Data file (*.dbf)

Xbase File Format Description

id:yshkw

phpで試してみましたが、再コンパイルが面倒だったのでperlで解決しました。

Xbaseというのがキーワードだったみたいですね。ドキュメントまでありがとうございました!

2007/12/10 23:40:17

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません