如何使用python将dbf表划分为两个或更多dbf表

时间:2014-01-25 23:55:23

标签: python dbf arcpy

我有一个dbf表。我想通过使用Python自动将此表分成两个或多个表。主要问题是,该表由更多行组成。每组线由前一行除以空行。所以我需要将每个组保存到一个新的dbf表。我认为这个问题可以通过使用Arcpy包中的一些函数和FOR循环和WHILE来解决,但我的大脑无法解决它:D:/我的源dbf表更复杂,但我附上一个简单的例子以便更好地理解。抱歉我的英语很差。

源dbf表:

ID  NAME   TEAM
1   A      1
2   B      2
3   C      1
4   
5   D      2
6   E      3

我想得到dbf1:

ID  NAME   TEAM
1   A      1
2   B      2
3   C      1

我想得到dbf2:

ID  NAME   TEAM
1   D      2
2   E      3

1 个答案:

答案 0 :(得分:0)

使用my dbf package它可能看起来像这样(未经测试):

import dbf

source_dbf = '/path/to/big/dbf_file.dbf'
base_name = '/path/to/smaller/dbf_%03d'

sdbf = dbf.Table(source_dbf)
i = 1
ddbf = sdbf.new(base_name % i)

sdbf.open()
ddbf.open()
for record in sdbf:
    if not record.name:    # assuming if 'name' is empty, all are empty
        ddbf.close()
        i += 1
        ddbf = sdbf.new(base_name % i)
        continue
    ddbf.append(record)
ddbf.close()
sdbf.close()