人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

DBFというフォーマットのファイル(EXCELやACCESSで使うみたい)を、shなどのスクリプトから読み込みたいのですが、
普通に読み込むとデータ部分が読み取れるもののヘッダがが文字化け、というか選択不可能な空白になります。
他の部分も普通の文字列操作できないので困っています。

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

●質問者: yshkw
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:access CSV DBF Excel Linux
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● garyo
●25ポイント

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

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

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

◎質問者からの返答

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


2 ● kn1967
●45ポイント ベストアンサー

(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

◎質問者からの返答

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ