是否可以操作 dbf 标头和字段 IE 更改顺序



我正在尝试创建一个函数,该函数将重新排序标题及其字段:

import dbf
table = dbf.Table('somefile.dbf', default_data_types = {'C': dbf.Char})
headerlist = [head0, head1, head2, head3]
def _reorder(x,y):
    z = table._meta.user_fields
    with table:
        z.insert(z.index(x), z.pop(z.index(y)))
while headerlist != table.field_names:
    _reorder(2, 0)
    _reorder(1, 3) #along with any others needed

但似乎_meta.user_fields并不是操作这些数据的正确方法。 我想知道按照我需要的特定顺序将数据写入新的.dbf文件是否会更容易。

我可能已经远离这里的代码,刚刚开始学习 python... 有人可以指出我正确的方向吗?

对字段重新排序的最简单方法确实是创建一个新数据库。 我没有在我的 dbf 模块中进行规定以允许对字段进行重新排序。

如果您尝试按特定顺序显示或处理字段,您可以执行以下操作:

field_order = ['head3', 'head0', 'head2', 'head1']
for field in field_order:
    print_or_process(my_table[field])

最新更新