У меня есть программа, которая читает строку за строкой из таблицы базы данных (используя pyodbc), а затем выполняет следующее:
цель: создать извлечение .hyper в таблице, используя главный недостаток API Python 3: вставить в.hyper файл (таблица) - это построчная операция, и мне нужно явно назначить каждый столбец каждой строки объекту строки в таблице, а затем вставить в гипер файл таблицы.
код для просмотра:
while row is not None:
for i in range(0,colCount):
if row[i] is not None:
if columnDataTypes[i] == 15:
newrow.setCharString(i,row[i])
elif columnDataTypes[i] == 12:
newrow.setDate(i, row[i].year, row[i].month, row[i].day)
elif columnDataTypes[i] == 7:
newrow.setInteger(i,row[i])
elif columnDataTypes[i] == 11:
newrow.setBoolean(i,row[i])
elif columnDataTypes[i] == 13:
newrow.setDateTime(i,row[i])
elif columnDataTypes[i] == 14:
newrow.setDuration(i,row[i])
elif columnDataTypes[i] == 16:
newrow.set(i,row[i])
else:
newrow.setDouble(i,row[i])
table.insert(newrow)
row = cursor.fetchone()
Это прекрасно работает, но хочет знать, можно ли переписать это, получая либо: 1. краткий код (несколько строк) 2. лучшую производительность (по отношению к памяти или сокращению циклов).
Я добавил цикл «если row [i] не None», потому что, если я не добавлю это, и если значение столбца будет нулевым, то скрипт завершится неудачно.
Поскольку я являюсь новым разработчиком Python, любые входные данные помогут мне лучше понять, как работает python.
Моя текущая версия Python: 3.7.2 Windows 10 Enterprise RAM: 32 ГБ i5 6300U CPU
Заранее спасибо, Срикант