我們在Visual FoxPro中有一堆實用程序腳本,我們用它來交互式清理/格式化數據。我們希望開始遷移此代碼以利用其他數據庫平臺,如MySQL或SQLite。在SQL/MySQL/PostgreSQL表上執行高級數據清理和格式化的最佳語言/技術是什麼?
例如,我們有一個腳本,我們運行它將名稱和/或地址行轉換爲正確的大寫/小寫。此代碼遍歷整個表並分析/修復每一行。還有其他一些方法,比如解析和標準化地址,甚至是重複檢測...
我們正在考慮將代碼遷移到Python,並可能使用類似SQLAlchemy的東西作爲「中間人」。
在Visual FoxPro中,數據庫/表已集成,因此我們只需打開表並運行命令即可。 MySQL不同之處在於我們需要從中提取數據,然後處理提取的數據,然後更新表。
什麼是最好的方法?
我看到幾個可能性:
1)提取整個數據集要工作,說所有的地址字段,如果這就是我們將要共事,然後更新這一切和寫作這一切回來......
2)提取數據塊設置,從而不會潛在地消耗大量的系統內存...然後更新和寫回
3)生成SQL代碼,也許一個像SQLAlchemy這樣的工具的幫助,它被髮送到服務器並由服務器執行...
4)???還有什麼我沒想到的?
您肯定可以使用VFP導出爲CSV格式。 COPY TO myfile.csv TYPE CSV –
感謝您的回覆。將數據導入MySQL並不是一個真正的問題。這是我最好的處理數據,一旦它在那裏。對於這個問題,對MySQL或SQLite或其他任何數據後端進行批量更新/更改的最佳方法是什麼? –
一種可能性是創建一個到VFP中的MySQL/SQLite數據庫的遠程SQL視圖,然後循環執行更改,根據需要調用TableUpdate。 – stuartd