Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Sqlalchemy no Jupyter Notebook

Bom dia.

Estava realizando o exercício ciente da descontinuidade, mas ainda tentando entender onde fazer as modificações indicadas.

Então fiz o seguinte processo: !pip install sqlalchemy from sqlalchemy import create_engine, MetaData, Table, inspect engine = create_engine ('sqlite:///:memory')

Até aqui ia tudo bem. E coloquei:

from sqlalchemy import inspect insp = inspect(engine) print(insp.get_table_names())

Sai um erro enorme, que o inicio é:

OperationalError Traceback (most recent call last) ~\anaconda3\lib\site-packages\sqlalchemy\engine\base.py in wrappool_connect(self, fn, connection) 3140 try: -> 3141 return fn() 3142 except dialect.dbapi.Error as e:

~\anaconda3\lib\site-packages\sqlalchemy\pool\base.py in connect(self) 300 """ --> 301 return ConnectionFairy.checkout(self) 302

~\anaconda3\lib\site-packages\sqlalchemy\pool\base.py in _checkout(cls, pool, threadconns, fairy) 754 if not fairy: --> 755 fairy = _ConnectionRecord.checkout(pool) 756

2 respostas

Olá, Fabricio, tudo bem?

As modificações indicadas são em cima do código do professor no Jupyter Notebook.

Se você notar no Warning SADeprecation (https://cursos.alura.com.br/course/pandas-io/task/96256), foi colocado o #codigo omitidoonde justamente é a parte do código do professor em que você não precisará alterar, apenas as três linhas indicadas para que funcione esse ajuste.

Assim, a sequência de seu código seguindo a ideia do professor deverá estar neste formato:

# instalando o sqalchemy em sua máquina virtual
!pip install sqlalchemy

# importando os módulos e métodos necessários para colocar a tabela em um banco de dados no SQL e inspecioná-la
from sqlalchemy import create_engine, MetaData, Table, inspect

# criando a engine para gravar nossa tabela
engine = create_engine('sqlite:///:memory:')
engine
type(engine)

#salvando a tabela num banco de dados SQL
matriculas_por_curso.to_sql('matriculas', engine)

#Criando um objeto Inspector e lendo o nome das tabelas no banco de dados
inspector = inspect(engine)
print(inspector.get_table_names())

Qualquer dúvida é só chamar!

Abraços e bons estudos!

solução!

Obrigado! Funcionou bem.