#python-3.x #sqlite #xbase
Вопрос:
Я пытаюсь скопировать базу данных dbf в базу данных sqlite, у меня есть следующий код
db=dataset.connect('sqlite:///:memory:')
table =db['table1']
for record in DBF(settings['xbasefile']):
db['table1'].insert(record)
это загружает запись, но не удается вставить с несоответствием типа данных в столбце идентификатора, поскольку входящая строка имеет формат, подобный
ИДЕНТИФИКАТОР:текстовое поле 1:Текст
эта функция
таблица=бд[‘таблица 1’]
похоже, предполагается идентификатор int для таблицы. Любой способ заставить это сделать вставку с текстовым идентификатором, который находится в таблице?
Ответ №1:
В итоге я воспользовался утилитой dbf2sqlite, которая автоматически создает таблицу с правильными столбцами из dbf