11

Pythonスクリプトを使用して.csvファイルを.dbfファイルに変換するにはどうすればよいですか?このコードをオンラインで見つけましたが、どれほど信頼できるかわかりません。この機能を備えたモジュールはありますか?

4

5 に答える 5

8

dbfパッケージを使用すると、次のようなコードを含む基本的なcsvファイルを取得できます。

import dbf
some_table = dbf.from_csv(csvfile='/path/to/file.csv', to_disk=True)

これにより、同じ名前で、文字フィールドまたはメモフィールドのいずれかと、f0、f1、f2などのフィールド名を持つテーブルが作成されます。

別のファイル名の場合はfilenameパラメーターを使用します。フィールド名がわかっている場合は、field_namesパラメーターを使用することもできます。

some_table = dbf.from_csv(csvfile='data.csv', filename='mytable',
        field_names='name age birth'.split())

むしろ基本的なドキュメントはここにあります。

開示:私はこのパッケージの作者です。

于 2011-07-13T02:18:52.657 に答える
6

CSVファイルを読み取り、DBFファイルを書き込むものはネット上にありません。そのため、CSVファイルを呼び出して2つのファイルパスを指定するだけです。DBFフィールドごとに、タイプ、サイズ、および(該当する場合は)小数点以下の桁数を指定する必要があります。

いくつかの質問:

どのソフトウェアが出力DBFファイルを消費しますか?

「the」(唯一の)DBFファイル形式のようなものはありません。dBase IIIが必要ですか?dBase 4?7?Visual FoxPro?等?

書き込む必要のあるテキストフィールドの最大長はどれくらいですか?非ASCIIテキストはありますか?

Pythonのどのバージョンですか?

要件が最小限である場合(dBase III形式、非ASCIIテキストなし、テキスト<= 254バイト長、Python 2.X)、引用したクックブックレシピで十分です。

于 2010-12-15T22:48:38.423 に答える
5

csvライブラリを使用して、csvファイルからデータを読み取ります。サードパーティのdbf ライブラリは、dbfファイルを作成できます。

編集:元々、私はリストdbfpyしましたが、上記のライブラリはより積極的に更新されているようです。

于 2010-12-14T15:35:41.500 に答える
2

私の知る限り、よく磨かれたものはありません。私は何年にもわたってxBaseファイルを何度も操作しなければならず、それを実行する必要があるときにそれを実行するためのコードを記述し続けています。バックアップのどこかに、それを実行するための非常に機能的な純粋Pythonライブラリがありますが、それがどこにあるのか正確にはわかりません。

幸い、xBaseファイル形式はそれほど複雑ではありません。もちろん、インターネットで仕様を見つけることができます。リンクしたモジュールは一見問題ないように見えますが、もちろん、使用する前に、使用しているデータのコピーを作成してください。

すべてのベルとホイッスルを備えた、堅実で読み取り/書き込み可能な完全に機能するxBaseライブラリは、しばらくの間私のTODOリストに載っていたものです...運が良ければ、今年残っているものでそれを手に入れるかもしれません。 ...(残念ながら、おそらくそうではありません)。

于 2010-12-14T15:37:14.770 に答える
2

ここでPythonスクリプトを作成しました。あらゆるcsvレイアウトに合わせてカスタマイズできる必要があります。これが可能になる前に、DBFデータ構造を知る必要があります。このスクリプトには、2つのcsvファイルが必要です。1つはDBFヘッダー設定用で、もう1つは本文データ用です。幸運を。

https://github.com/mikebrennan/csv2dbf_python

于 2013-09-26T18:58:05.367 に答える