Quiero leer un archivo .xlsx usando la biblioteca Pandas de python y transferir los datos a una tabla postgreSQL.
Todo lo que pude hacer hasta ahora es:
import pandas as pd
data = pd.ExcelFile("*File Name*")
Ahora sé que el paso se ejecutó con éxito, pero quiero saber cómo puedo analizar el archivo de Excel que se ha leído para poder entender cómo los datos en Excel se asignan a los datos en los datos variables.
Aprendí que los datos son un objeto Dataframe si no me equivoco. Entonces, ¿cómo analizo este objeto de marco de datos para extraer cada línea fila por fila?
Respuestas:
Normalmente creo un diccionario que contiene un
DataFrame
para cada hoja:Actualización: en la versión 0.21.0+ de pandas, obtendrá este comportamiento de manera más limpia al pasar
sheet_name=None
aread_excel
:En 0.20 y antes, esto era en
sheetname
lugar desheet_name
(ahora está en desuso a favor de lo anterior):fuente
pandas.DataFrame.to_sql
podría ser de ayuda. Para leer, puede usar losdp.py
objetos que devuelven Pandas DataFrame.fuente
El
read_excel
método de DataFrame es como elread_csv
método:fuente
En lugar de usar un nombre de hoja, en caso de que no sepa o no pueda abrir el archivo de Excel para verificar en ubuntu (en mi caso, Python 3.6.7, ubuntu 18.04), uso el parámetro index_col (index_col = 0 para la primera hoja)
fuente
sheet_name=0
o nombrar la hoja en lugar de 0.Asignar nombre de archivo de hoja de cálculo a
file
Cargar hoja de cálculo
Imprime los nombres de las hojas
Cargue una hoja en un DataFrame por nombre: df1
fuente
Si usa
read_excel()
en un archivo abierto usando la funciónopen()
, asegúrese de agregarrb
a la función abierta para evitar errores de codificaciónfuente