Erro ao tentar criar nova tabela de banco de dados no SQL Server 2016 a partir do arquivo csv ao usar o python 3.5 com pandas e sqlalchemy
Estou tentando usar python para ler meu arquivo csv e colocá-lo no Microsoft SQL Server 2016 como uma nova tabela. Simplificando, não quero criar uma tabela no SQL e importar o csv, quero escrever um script em python que possa ler o csv e criar uma nova tabela no SQL para mim.
ATUALIZAR
Talvez eu precise repensar minha abordagem. Corrigi o driver, mas estou recebendo o seguinte erro deto_sql
. Estou pensando que há algo errado com meu esquema de autenticação. Infelizmente, oto_sql
documentação esql_alchemy
não está lançando muita luz. Começando a considerar alternativas.
sqlalchemy.exc.DBAPIError was unhandled by user code
Message: (pyodbc.Error) ('08001', '[08001] [Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [53]. (53) (SQLDriverConnect)')
Códigoimport pandas as pd
import sqlalchemy
#Read the file
data = pd.read_csv(file.csv)
#Connect to database and write the table
server = "DERPSERVER"
database = "HERPDB"
username = "DBUser"
password = "password"
tablename = "HerpDerpTable"
driver = "SQL+Server+Native+Client+11.0"
#Connect to SQL using SQL Server Driver
print("Connect to SQL Server")
cnxn = sqlalchemy.create_engine("mssql+pyodbc://"+username+":"+password+"@"+server +"/"+database + "?driver="+driver)
ATUALIZAR
Eu reescrevi a string da seguinte maneira, mas não funciona:
sqlalchemy.create_engine('mssql+pymssql://'+username+':'+ password + '@' + server + '/' + database + '/?charset=utf8')
data.to_sql(tablename, cnxn);
TentativasEssas são algumas coisas importantes a serem observadas em minha abordagem. Preste atenção especial ao segundo ponto que compartilho abaixo. Eu acho que minha cadeia de conexão paracreate_engine
está de alguma forma ou talvez errado, mas não sei o que está errado, porque segui a documentação.
to_sql
gravar no banco de dados, mas acha que minha cadeia de conexão ainda pode estar bagunçada? Eu consultei issoPergunta, questão no stackoverflow.Atualizar Eu adicionei a especificação do driver como MaxU e a documentação para sqlalchemy especificada. No entanto, estou recebendo um erro dizendo que meu nome da fonte de dados não foi encontrado e nenhum driver padrão é especificado comto_sql
. Preciso alimentarto_sql
o motorista também? Em caso afirmativo, onde está a documentação ou um código de exemplo que mostra onde estou errado?Estou fazendo um grande esforço para pegar o python e usá-lo como uma linguagem de script por causa de objetivos e necessidades futuras. Gostaria de receber qualquer ajuda, ajuda, orientação prestada.