我正在尝试创建一个将标题及其字段重新排序的函数:
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 ......有人能指出我正确的方向吗?
答案 0 :(得分:1)
重新排序字段的最简单方法就是创建一个新数据库。我没有在我的dbf模块中做出允许重新排序字段的规定。
如果您尝试以特定顺序呈现或处理字段,则可以执行以下操作:
field_order = ['head3', 'head0', 'head2', 'head1']
for field in field_order:
print_or_process(my_table[field])