Как исправить имена столбцов исходного назначения?

Я пытаюсь загрузить лист Excel в свою базу данных, допустим, в таблице Excel есть только один столбец с именем NAME, который сопоставляется с NAME в базе данных. Однако иногда я получаю лист Excel со столбцом Name, который выдает ошибку, поскольку он чувствителен к регистру. Есть ли способ указать имя столбца в верхнем регистре или получить второе сопоставление? Как лучше всего с этим справиться?

Excel Connection позволяет создавать сценарии операторов SQL без учета регистра. Таким образом, Select NAME as NAME из Sheet1 $ всегда приведет к тому, что имя UPPER case будет перенесено в SSIS.

KeithL 14.09.2018 14:56

В качестве альтернативы, если столбцы всегда в одном порядке, пропустите строку заголовка и назовите строки самостоятельно. Они будут читаться как F1, F2 .... и могут быть переименованы.

KeithL 14.09.2018 15:09
0
2
35
1

Ответы 1

Потому что мне любопытно, как это выглядит на самом деле, я провожу тест на Python:

import datetime, time
name_dict = ['name','Name','NAME','NAMe','NAme','NamE','NaME']
name = 'Name'
z=0
x=0

for z in range(0,5):    
    start= time.time()
    for x in range(1,10000000):
        if name_dict[2].upper() == "NAME":
            None
    stop=time.time()    
    print('Try no. '+str(z)+' Upper test:'+str(stop-start))

for z in range(0,5):
    start= time.time()
    for x in range(1,10000000):
        if name in name_dict:
            None
    stop=time.time()
    print('Try no. '+str(z)+' Search in dict test:'+str(stop-start))

Полученные результаты

Try no. 0 Upper test:1.3549904823303223
Try no. 1 Upper test:1.356055736541748
Try no. 2 Upper test:1.3510148525238037
Try no. 3 Upper test:1.3499987125396729
Try no. 4 Upper test:1.3550000190734863
Try no. 0 Search in dict test:0.7339987754821777
Try no. 1 Search in dict test:0.738067626953125
Try no. 2 Search in dict test:0.7309765815734863
Try no. 3 Search in dict test:0.7490558624267578
Try no. 4 Search in dict test:0.7480108737945557

В python поиск в dict выполняется быстрее.

Другие вопросы по теме