2013-02-25 57 views
0

DBF文件每隔幾小時更新一次。我們需要將新記錄導入MySQL並跳過重複項。我對DBF文件沒有任何經驗,但據我所知,我們正在使用的那一個沒有唯一的ID。將DBase(dbf)文件常規導入MySQL表的最佳方式是什麼?

我打算使用Python,如果沒有現成的實用程序這樣做。

+0

如果沒有ID - 如何查找重複項? – Devart 2013-02-25 09:16:00

+0

也許考慮所有列來確定唯一性,或者可能使用DBF文件中的行#。老實說,我不完全確定。 – ShawnCBerg 2013-02-25 15:13:43

回答

0

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/

-1

當你說你正在使用的dBase,我相信你有機會獲得點提示。

在點提示符下將.dbf文件轉換爲分隔文本文件。

使用必需的命令在 MySql中將分隔文本文件重新轉換爲MySql數據文件。我不知道它的實際命令。所有的DBMS都會有命令來完成那個工作。

爲了消除重複,您必須在通過用dBase編寫的程序將 數據填充到.dbf文件時執行此操作。

相關問題