2013-02-25 56 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文件时执行此操作。

相关问题