Bom, estou com esse código que tenta inserir no meu Banco Dados Local um arquivo excel por meio do Python, porém ele apresenta erro:
import pyodbc
import pandas as pd
#CONEXAO COM O BANCO DE DADOS
conexao_dw = ("Driver={SQL Server};"
"Server=ADMND8960551120\SQLEXPRESS;"
"Database=Comercial;"
)
conexao_dw = pyodbc.connect(conexao_dw)
cursor_dw = conexao_dw.cursor()
#LEITURA DA PLANILHA
df = pd.read_excel('25-10.xlsx')
#print(df)
#PERCORRENDO LINHA A LINHA DA TABELA E INSERINDO NO BANCO DE DADOS
#NO BANCO DE DADOS TODOS TEM DE SER VARCHAR
for i, row in enumerate(df.iterrows()):
requisicao = df.loc[i,'Requisicao']
nomepaciente = df.loc[i,'Nome_do_Paciente']
sexo = df.loc[i,'Sexo']
estado = df.loc[i,'Data_de_Nascimento']
idade = df.loc[i,'Idade']
divisao = df.loc[i,'Divisao']
convenio = df.loc[i,'Convenio']
clientelaudo = df.loc[i,'Cliente_de_Laudo']
clientelaboratorio = df.loc[i,'Cliente_de_Laboratorio_Apoiador']
unidaderesp = df.loc[i,'Unidade_Responsavel']
datareq = df.loc[i,'Data_da_Requisicao']
horareq = df.loc[i,'Hora_da_Requisicao']
codamostra = df.loc[i,'Codigo_da_Amostra']
posicaocontainer = df.loc[i,'Posicao_no_Container']
nomecontainer = df.loc[i,'Nome_do_Container']
numcontainer = df.loc[i,'Numero_do_Container']
cod1 = df.loc[i,'ALTEAMIHRS']
cod2 = df.loc[i,'ALTENUCHRS']
cod3 = df.loc[i,'AVAKAHRD']
cod4 = df.loc[i,'AVAKAHRS']
cod5 = df.loc[i,'BABICONHRS']
cod6 = df.loc[i,'CCHRSN']
cod7 = df.loc[i,'CCHRSR']
cod8 = df.loc[i,'DESCHRD']
cod9 = df.loc[i,'FRHRS']
cod10 = df.loc[i,'GENEHRS']
cod11 = df.loc[i,'HRS']
cod12 = df.loc[i,'HRSNEG']
cod13 = df.loc[i,'HRSNEGC']
cod14 = df.loc[i,'INTHRS']
cod15 = df.loc[i,'LSCPHRD']
cod16 = df.loc[i,'LSCPHRS']
cod17 = df.loc[i,'MATREHRD']
dados = '\'' + str(requisicao)+'\''+',\''+str(nomepaciente)+'\''+',\''+str(sexo)+'\''+',\'' + str(estado)+'\'' + ',\'' + str(idade)+ '\'' + ',\'' + str(divisao)+ '\'' + ',\'' + str(convenio)+ '\'' + ',\'' + str(clientelaudo)+ '\'' + ',\'' + str(clientelaboratorio)+ '\'' + ',\'' + str(unidaderesp)+ '\'' +',\'' + str(datareq)+ '\'' + ',\'' + str(horareq)+ '\'' + ',\'' + str(codamostra)+ '\'' + ',\'' + str(posicaocontainer)+ '\'' + ',\'' + str(nomecontainer)+ '\'' + ',\'' + str(numcontainer)+ '\'' + ',\'' + str(cod1)+ '\'' + ',\'' + str(cod2)+ '\'' + ',\'' + str(cod3)+ '\'' + ',\'' + str(cod4)+ '\'' + ',\'' + str(cod5)+ '\'' + ',\'' + str(cod6)+ '\'' + ',\'' + str(cod7)+ '\'' + ',\'' + str(cod8)+ '\'' + ',\'' + str(cod9)+ '\'' + ',\'' + str(cod10)+ '\'' + ',\'' + str(cod11)+ '\'' + ',\'' + str(cod12)+ '\'' + ',\'' + str(cod13)+ '\'' + ',\'' + str(cod14)+ '\'' + ',\'' + str(cod15)+ '\'' + ',\'' + str(cod16)+ '\'' + ',\'' + str(cod17)+ '\'' + ',\'' + str(cod18)+ '\'' +')'
script = '''insert into tbl_Astrazeneca8 ([Requisicao],[Nome_do_Paciente],[Sexo],[Data_de_Nascimento],[Idade] ,[Divisao],[Convenio],[Cliente_de_Laudo],[Cliente_de_Laboratorio_Apoiador],[Unidade_Responsavel],[Data_da_Requisicao],[Hora_da_Requisicao],[Codigo_da_Amostra],[Posicao_no_Container],[Nome_do_Container],[Numero_do_Container],[ALTEAMIHRS],[ALTENUCHRS],[AVAKAHRD],[AVAKAHRS],[BABICONHRS],[CCHRSN],[CCHRSR],[DESCHRD],[FRHRS],[GENEHRS],[HRS],[HRSNEG],[HRSNEGC],[INTHRS],[LSCPHRD],[LSCPHRS] ,[MATREHRD],[MATREHRS],[METHRS],[METOHRD],[MYCH],[PARQAHRS],[PARQUAHRD],[PATAPRHIG]) values ('''
query = script + dados
print(query)
cursor_dw.execute(query)
cursor_dw.commit()
Gostaria de obter ajuda sobre outras formas de insert no SQL SERVER através do python, já busquei em várias fontes e não chego em resultado algum. Além do mais, o trabalho de escrita foi bem grande por conta da quantidade de colunas no meu arquivo. Podem me ajudar?