Visual FoxPro には、対話的にデータをクレンジング/フォーマットするために使用する一連のユーティリティ スクリプトがあります。このコードを移行して、MySQL や SQLite などの他のデータベース プラットフォームを利用できるようにしたいと考えています。
たとえば、名前や住所の行を適切な大文字/小文字に変換するスクリプトを実行します。このコードはテーブル全体を調べ、各行を分析/修正します。アドレスの解析と標準化、さらには重複検出などを行うものもあります...
コードを Python に移行し、SQLAlchemy のようなものを「仲介者」として使用することを考えています。
Visual FoxPro では、データベースとテーブルが統合されているため、テーブルを開いてコマンドを実行するだけです。MySQL は、そこからデータを抽出し、その抽出されたデータを処理してから、テーブルを更新する必要があるという点で異なります。
最善のアプローチは何ですか?
いくつかの可能性があります。
1) 作業対象のデータセット全体を抽出します。たとえば、すべての住所フィールドを抽出し、それが作業対象である場合は、すべてを更新してすべて書き戻します...
2) 大量のシステム メモリを潜在的に消費しないように、データ セットをチャンクで抽出します...その後、更新して書き戻します
3) おそらく SQLAlchemy のようなツールの助けを借りて、サーバーに送信されて実行される SQL コードを生成します...
4) ??? 私が考えていなかった他の何か?