3
respostas

Carregar arquivo Zip com SQL para pandas python

Como faço para carregar e transformar arquivos .sql em tabelas no pandas?

Tenho vários arquivos com extensão .sql dentro de um zip (isso não pode mudar), quero carregar no pandas python.

algo como:

from io import BytesIO
from zipfile import ZipFile
from urllib.request import urlopen

    url = "https://..."
    resp = urlopen(url)
    zipfile = ZipFile(BytesIO(resp.read()))

    for arquivo in zipfile.namelist():
        if 'teste1.sql' in arquivo:
            df  =  zipfile.read(arquivo)

O problema é que esse arquivo é um dump do banco MySQL na Internet e com um tamanho de mais de 100MB, e preciso carregar no jupyter-botebook.

3 respostas

Oii Matias, tudo certinho?

Desculpa a demora para te dar um retorno. Eu preciso saber como o dump está organizado e se o que você deseja é transformar os inserts em tabelas do Pandas, para que a gente consiga proseguir com questão e eu possa te dar a explicação de como pode ser feito.

Fico no aguardo da sua resposta para continuarmos, ok?

Oi Sthefanie, decidi não usar o dump. O que eu queria era exibir em uma tabela no Pandas, mas vi que não tem como fazer isso diretamente. A melhor forma era usar o dump no banco de dados e depois consultar as informações para exibir no Pandas.

Oi de novo!

Entendi! Bom, existe a possibilidade de você integrar o banco com o Python utilizando a função read_sql, ele retorna os dados da execução da query em tabelas do Pandas, aqui você pode ver um exemplo da Microsoft com o banco SQL SERVER. Já no caso do dump, realmente você precisaria de várias outras operações para tratar o arquivo e retirar as informações desejadas para retirar o dataframe.

Caso tenha mais alguma dúvida, estou sempre por aqui!

Bons estudos ^^