Quero ler um arquivo .xlsx usando a biblioteca Pandas do python e transferir os dados para uma tabela postgreSQL.
Tudo o que pude fazer até agora é:
import pandas as pd
data = pd.ExcelFile("*File Name*")
Agora eu sei que a etapa foi executada com sucesso, mas eu quero saber como posso analisar o arquivo excel que foi lido para que eu possa entender como os dados no Excel mapeiam para os dados nos dados variáveis.
Aprendi que data é um objeto Dataframe, se não estiver errado. Então, como faço para analisar este objeto dataframe para extrair cada linha linha por linha.
Respostas:
Normalmente crio um dicionário contendo um
DataFrame
para cada folha:Atualização: Na versão 0.21.0+ do pandas, você obterá esse comportamento de forma mais limpa passando
sheet_name=None
pararead_excel
:Em 0,20 e anteriores, era em
sheetname
vez desheet_name
(agora está obsoleto em favor do anterior):fonte
pandas.DataFrame.to_sql
pode ser útil. Para leitura, você pode usar osdp.py
objetos Pandas DataFrame de retorno.fonte
O
read_excel
método do DataFrame é como oread_csv
método:fonte
Em vez de usar um nome de planilha, caso você não saiba ou não consiga abrir o arquivo excel para verificar no ubuntu (no meu caso, Python 3.6.7, ubuntu 18.04), uso o parâmetro index_col (index_col = 0 para a primeira folha)
fonte
sheet_name=0
ou nomear a planilha em vez de 0.Atribuir o nome do arquivo da planilha a
file
Carregar planilha
Imprima os nomes das folhas
Carregue uma planilha em um DataFrame por nome: df1
fonte
Se você usar
read_excel()
em um arquivo aberto com a funçãoopen()
, certifique-se de adicionarrb
à função abrir para evitar erros de codificaçãofonte