2

クライアントのために分析する必要がある DBF ファイルの大規模なコレクション (約 1100 個) があります。各ファイルには 1 つのテーブルが含まれます。各テーブルに対してクエリを実行し、結果を 1 つの大きな結果テーブル (すべてのファイルからの結果を保持する) にコピーしてから、次の DBF ファイルに移動する必要があります。最後に、後で操作できる形式で結果テーブルを保存する必要があります。これを簡単にできるスクリプト言語を知っている人はいますか?

いくつかの注意点があります: 1.) Vista で動作するものが必要です (DOS、python、または GNU Octave で動作するものでも問題ありません)。2.) 私はデータベース管理者ではありませんが、かなりのプログラミング スキルを持っています。3.) SQL の基本的な実務知識しかありません。私はクエリを書くことができます.私の問題はDBFファイルを開いて結果を保存することです. 4.) 私は実際に MS Access を使用してこれを達成しましたが、これは厄介な解決策です。そこでAccessを使わないものを探しています。

SQL 用のさまざまなスクリプト言語について調べてきました。私が見たサイトのほとんどは、サーバー、関係の設定、セキュリティ、およびそれらすべてに関するものになっています。これらの問題は私の理解をはるかに超えており、私の関心事ではありません。これらのファイルにクエリを実行し、結果を取得して、脱出したいだけです。初心者が簡単にアクセスでき、しかも非常に強力なものはありますか?

どんな助けでも大歓迎です。

4

3 に答える 3

1

非常に基本的なSQLサポートを備えたpythondbfモジュールを作成しました。ただし、SQLがニーズに合わない場合でも、Python構文を使用してdbfファイルをクエリするのは簡単です。

いくつかの例:

import dbf

結果テーブルを作成し、それにレコードを追加するには:

results = dbf.Table('results_table', 'name C(50); amount N(10, 4)')
record = results.append()
with record:
    record.name = 'something'
    record.amount = 99.928

# to open an existing table
table = dbf.Table('some_dbf_table').open()

# find all sales >= $10,000
records = table.pql("select * where sales >= 10000")

# find all transactions for customer names that start with Bob
records = table.pql("select * where customer.startswith('Bob')")

# nevermind thin sql veneer, just use python commands
records = table.find("sales >= 10000 and customer.startswith('Bob')")

# sum sales by customer
customer_sales = default_dict(int)  # if customer not already seen, will default to 0
for record in table:
    customer_sales[record.customer] += record.sales

# now add to results table and print them out
for name, total in sorted(customer_sales.items()):
    result_record = results.append()
    with result_record:
        result_record.name = name
        result_record.amount = total
    print "%s: %s" % (name, total)
于 2011-07-15T15:48:43.320 に答える
1

私はSSISでこれを行います。SSIS では、ループとデータ変換は非常に簡単です。

于 2009-08-11T04:45:58.733 に答える
1

私の最初の選択肢はVisual FoxProです。.dbf ファイルをネイティブに処理し、インタラクティブな環境を備え、SQL SELECT 機能を提供します。SELECT ステートメントには、クエリ結果を別のテーブルに送信する INTO 句があります。一部の種類の MSDN サブスクリプションには、DVD に FoxPro が含まれており、MSDN からダウンロードできるようになっています。

dBASEも利用できます。

必要に応じて、.dbf ファイル構造はコードで簡単に操作できます。以前は、C と Delphi で .dbf ファイルを変更するコードを書かなければなりませんでした。それは午後の仕事以上のものではありませんでした。Google Code Searchは、おそらく主要なプログラミング言語の.dbf 関連のコードを生成します。.dbf ファイル形式と関連するファイル形式については、MSDNに記載されています。

于 2009-08-11T05:55:05.413 に答える