2011-09-14 11 views
1

私は数十万、多分何百万行ものデータで、おそらくは50以上の列のエントリを持つPythonでいくつかの仕事をしているかもしれません。私はこのデータを追跡し、それを処理する方法を欲しがっています。私もMicrosoft Accessを学びたいので、そこにデータを入れることをお勧めします。これを行う簡単な方法はありますか?私もSASを学びたいので、それもうまくいくでしょう。あるいは、私はそのような状況について知っておくべき他のプログラム/方法がありますか?PythonのデータをAccessファイルに保存することはできますか?

ありがとうございました!

答えて

1

はい、Pythonから任意のODBCデータベースと話すことができます。これにはAccessが含まれている必要があります。あなたは、ActiveStateのPythonの "windows"版(ODBCのようなものを含む)が必要になります。

私はAccessの "何百万もの行"についてもっと心配しています。実際にリレーショナルタスク(つまり、別のテーブルを一緒にジョインする)の場合は、検索で少し遅くなります。

また、50個のカラムテーブルが必要です.50個のカラムが必要になることもありますが、データを通常の形式で十分に分解していないことがよくあります。

最後に、Pythonを使用してAccessデータベースを読み書きすると、「アクセスの学習」としてカウントされるかどうかわかりません。実際には、フロントエンドを使ってデータベースを作成して管理し、Accessでフォームやレポートを作成し、Visual Basic for Applications(VBA)でプログラミングすることができます。

私は組み込みデータベースソリューション、特にPythonからSQLiteを本当に好きで、SQLの方言はおそらくAccessよりも "純粋"でしょう。

+0

私はさまざまなクエリを使用してデータを処理します。ポイントは、私はデータをAccessに入れてからAccessを使って処理します。そして、私はいくつかのVBAを使用するかもしれません。私はExcel用のVBAを知っており、Accessのためにそれを学びたいと思っています。しかし、あなたが言及しているように、おそらく本当に遅いでしょう。だから私はSASも考えました。私はそれほどよく分かりませんが、大量のデータを扱うのは良いと聞いています。そして、私はこれらのプログラムにデータをどのように入れるのかという非常に基本的な考えを私に与えてくれますか? – Graphth

+1

アクセスがうまくいくかもしれませんが、それはしばしば成立しているほど悪くありません。Pythonでデータベース接続を使用するのと同じ方法で使用します。Pythonモジュール(pyodbcなど)をインポートします。接続オブジェクトを作成します(ODBCドライバとデータベースファイルを指定する文字列を渡します)。接続オブジェクトからカーソルオブジェクトを作成し、カーソルオブジェクトを使用してデータベース上でSQLパラメータ化されたSQL文を実行します。 –

+0

「リレーショナルタスク」に関連するAccessパフォーマンスに関する問題はよくわかりません。これは、私が過去15年間にJet/ACEで経験した現実には合致しません。 JOINはすべてのデータベース(特にOUTER結合)で比較的高価です。そのため、私はそれを多くの問題とは見なしません。何千もの行がAccessでうまくいきます。何百万もの問題があるかもしれませんが、ファイルサイズが2GBという厳しい制限のためにパフォーマンスがあまり高くないためではありません。しかし、実際には表の行のサイズに依存します。私は700万行以上のテストデータベースを持っています。 –

0

私もMicrosoft Accessを勉強したいので、

はアクセスを学んであなたの時間を無駄にしないでください。

私はそこにデータを入れることをお勧めします。これを行う簡単な方法はありますか?

ODBC。

また、このような状況について知っておくべき他のプログラム/方法はありますか?

SQLiteおよびMySQLは、MS-Accessよりはるかに優れた選択肢です。

+0

しかし、私はこれらのプログラムにデータをどのように入れるのかという非常に基本的な考え方を教えていただけますか? – Graphth

+0

@Graphth:「どうすればこれらのプログラムにデータを入れるのですか?これらのプログラム? Python?アクセス? 「これらのプログラム」とはどういう意味ですか?例えば、PythonからMySQLへの –

+0

です。 – Graphth

関連する問題