Как я могу переименовать имена полей файла .dbf при чтении его с помощью dbfpy? - PullRequest
2 голосов
/ 16 июня 2011

Я использую dbfpy для чтения из файла .dbf, который прекрасно работает.Однако я хочу переименовать имена полей, чтобы при чтении каждой строки с помощью row.asDict() ключами dict были мои имена полей, а не те, что в файле.Конечно, я могу написать свою собственную обертку для этого, но я не хотел изобретать велосипед в случае, если есть простое решение (я просмотрел источник, ничего не увидел и не хотел изучать всеисточник построчно).Спасибо!

1 Ответ

2 голосов
/ 13 июля 2011

Я никогда не использовал dbfpy, но используя пакет Я написал, это будет выглядеть так:

import dbf
some_table = dbf.Table('dbf_file')
some_table.rename_field('oldname', 'newname')

Это, однако, фактически изменит имя в исходном файле dbf.

Редактировать

Я вспомнил другой способ: этот способ на самом деле ничего не переименовывает, но поскольку записи из моего модуля dbf позволяют индексировать, а также имя поля имеют доступ к вамможет сделать что-то вроде:

NEW_FIELD = 5    # if the sixth field is the one with the objectionable name

, а затем позже

record[NEW_FIELD] = 'whatever'
...