DBF文件每隔幾小時更新一次。我們需要將新記錄導入MySQL並跳過重複項。我對DBF文件沒有任何經驗,但據我所知,我們正在使用的那一個沒有唯一的ID。將DBase(dbf)文件常規導入MySQL表的最佳方式是什麼?
我打算使用Python,如果沒有現成的實用程序這樣做。
DBF文件每隔幾小時更新一次。我們需要將新記錄導入MySQL並跳過重複項。我對DBF文件沒有任何經驗,但據我所知,我們正在使用的那一個沒有唯一的ID。將DBase(dbf)文件常規導入MySQL表的最佳方式是什麼?
我打算使用Python,如果沒有現成的實用程序這樣做。
DBF格式是在30多年前開發的,當時典型的PC使用了640K的RAM。這是很容易閱讀的,當天我爲它寫了一個Autocad數據庫驅動程序(是的,我是舊的)。基本上你所要做的就是創建一些C結構並將它們從磁盤加載/轉儲到磁盤。
有一個Python library for reading DBF files,我不時使用它,因爲Shapefiles(一種流行的GIS數據格式)通常包含一個DBF文件。
例子:
>>> from dbf import Table
>>> placenames = Table('PLCNAM.DBF', codepage='cp1252')
>>> placenames.open()
>>> for place in placenames:
... print(place.count, place.name)
41 Springfield
26 Clinton
25 Madison
24 Franklin
...
可能要看一看這個項目:(。)http://sourceforge.net/projects/dbfconverter/
當你說你正在使用的dBase,我相信你有機會獲得點提示。
在點提示符下將.dbf文件轉換爲分隔文本文件。
使用必需的命令在 MySql中將分隔文本文件重新轉換爲MySql數據文件。我不知道它的實際命令。所有的DBMS都會有命令來完成那個工作。
爲了消除重複,您必須在通過用dBase編寫的程序將 數據填充到.dbf文件時執行此操作。
如果沒有ID - 如何查找重複項? – Devart 2013-02-25 09:16:00
也許考慮所有列來確定唯一性,或者可能使用DBF文件中的行#。老實說,我不完全確定。 – ShawnCBerg 2013-02-25 15:13:43