Я работаю над нажатием данных из файлов DBF с UNC на базу данных SQL-сервера. Существует около 50 файлов DBF, все из которых имеют разные схемы. Теперь я знаю, что могу создать программу и перечислить все 50 таблиц и все 50 файлов DBF, но это будет продолжаться вечно. Есть ли способ получить имена полей DBF, чтобы как-то сделать вставку, а затем переходить через каждый DBF и печатать каждое имя поля в DBF? Вот код, который я имею прямо сейчас, который вставляет записи из двух полей в один файл DBF.Вставка всех данных из нескольких файлов DBF в несколько таблиц
import pyodbc
from dbfread import DBF
# SQL Server Connection Test
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=**********;DATABASE=TEST_DBFIMPORT;UID=test;PWD=test')
cursor = cnxn.cursor()
dir = 'E\\Backups\\'
table = DBF('E:\\Backups\\test.dbf', lowernames=True)
for record in table.records:
rec1 = record['field1']
rec2 = record['field2']
cursor.execute ("insert into tblTest (column1,column2) values(?,?)", rec1, rec2)
cnxn.commit()
Это скорее всего общий вопрос python, и у меня очень мало опыта Python, но во время цикла я буду делать вставки в каждую таблицу. Я предполагаю, что нет никакого способа обойти инструкции вставки для каждой таблицы, что хорошо, но как я могу присвоить значения из вашего списка записей значениям в инструкции insert динамически? – HMan06
@ HMan06: Вы вставляете только определенные поля из каждой таблицы или каждое поле из каждой таблицы? –
Я думал о том, чтобы делать каждое поле из каждого стола, как мне кажется, это проще. В любом случае это будет работать, и я собираюсь очистить данные после их вставки в БД. – HMan06