Cómo importar y exportar datos en Pandas
Una de las ventajas del uso de la biblioteca de código Python pandas es su facilitad para importar y exportar datos desde cualquier tipo de archivo. El uso de pandas permite tratar conjuntos de datos desde y hacia una amplia variedad de formatos con líneas cortas de código.
Para importar datos a Pandas, puedes utilizar la función 'read_' seguida del formato de archivo que deseas importar. Por ejemplo, para leer un archivo CSV (Comma Separated Values), puedes utilizar la función read_csv.
- Índice de contenidos:
Importar csv con pandas
import pandas as pd
# Asumiendo que el archivo "data.csv" se encuentra en el mismo directorio que el script
df = pd.read_csv("data.csv")
Para exportar un DataFrame a un archivo, puedes utilizar la función 'to_' seguida del formato de archivo de destino. Por ejemplo, para escribir un DataFrame a un archivo CSV, puedes utilizar la función to_csv.
Exportar csv con pandas
import pandas as pd
# Asumiendo que tienes un DataFrame llamado "df"
df.to_csv("data_export.csv", index=False)
Importar Excel (.xlsx) con pandas
Para importar datos de un archivo de Excel a Pandas, puedes utilizar la función 'read_excel'. Esta función toma como argumento el nombre del archivo de Excel y, opcionalmente, el nombre de la hoja de cálculo que deseas leer.
import pandas as pd
# Asumiendo que el archivo "data.xlsx" se encuentra en el mismo directorio que el script
# y que tiene una hoja de cálculo llamada "Sheet1"
df = pd.read_excel("data.xlsx", sheet_name="Sheet1")
Exportar Excel (.xlsx) con pandas
Para exportar un DataFrame a un archivo de Excel, puedes utilizar la función 'to_excel'. Esta función toma como argumento el nombre del archivo de destino y, opcionalmente, el nombre de la hoja de cálculo donde deseas escribir los datos.
import pandas as pd
# Asumiendo que tienes un DataFrame llamado "df"
df.to_excel("data_export.xlsx", sheet_name="Sheet1")
Importar JSON con pandas
Para importar datos desde un archivo JSON a Pandas, puedes utilizar la función 'read_json'. Esta función toma como argumento el nombre del archivo JSON y, opcionalmente, algunos parámetros para controlar cómo se leen los datos.
import pandas as pd
# Asumiendo que el archivo "data.json" se encuentra en el mismo directorio que el script
df = pd.read_json("data.json")
Exportar JSON con pandas
Para exportar un DataFrame a un archivo JSON, puedes utilizar la función 'to_json'. Esta función toma como argumento el nombre del archivo de destino y, opcionalmente, algunos parámetros para controlar cómo se escriben los datos.
import pandas as pd
# Asumiendo que tienes un DataFrame llamado "df"
df.to_json("data_export.json")
Importar archivo txt con pandas
Para importar datos de un archivo de texto plano (txt) a Pandas, puedes utilizar la función 'read_csv'. El caso es similar a cuando deseamos importar un archivo csv, dando una gran flexibilidad y facilidad a la importación de este tipo de archivos.Aunque esta función se llama "read_csv", también puede leer archivos de texto plano que no estén separados por comas. Simplemente debes especificar el separador de campos correcto en el argumento sep.
import pandas as pd
# Asumiendo que el archivo "data.txt" se encuentra en el mismo directorio que el script
# y que los campos están separados por tabulaciones
df = pd.read_csv("data.txt", sep="\t")
Exportar archivo txt con pandas
Para exportar un DataFrame a un archivo de texto, puedes utilizar la función 'to_csv'. Esta función toma como argumento el nombre del archivo de destino y, opcionalmente, una serie de parámetros para controlar cómo se escriben los datos.
import pandas as pd
# Asumiendo que tienes un DataFrame llamado "df"
df.to_csv("data_export.txt", sep="\t", index=False)
Opciones pandas pd.read
La función 'pd.read_' de Pandas ofrece una amplia variedad de opciones y parámetros para controlar cómo se leen los datos. Algunas de las opciones más comunes para leer archivos e importar datos con Python pandas son:- sep: especifica el separador de campos para archivos que no son CSV. Por ejemplo, puedes utilizar sep="\t" para indicar que los campos están separados por tabulaciones.
- header: especifica el número de línea que contiene los nombres de las columnas. Por ejemplo, puedes utilizar header=0 para indicar que los nombres de las columnas están en la primera línea del archivo.
- index_col: especifica el número de columna que se debe utilizar como índice del DataFrame. Por ejemplo, puedes utilizar index_col=0 para indicar que la primera columna del archivo se debe utilizar como índice.
- skiprows: especifica una lista de números de línea que se deben saltear al leer el archivo. Por ejemplo, puedes utilizar skiprows=[1, 3] para saltear la segunda y cuarta líneas del archivo.
- na_values: especifica una lista de valores que deben interpretarse como valores perdidos (NA). Por ejemplo, puedes utilizar na_values=["N/A", ""] para indicar que los valores "N/A" y el texto vacío deben interpretarse como NA.
- dtype: especifica el tipo de datos de cada columna. Por ejemplo, puedes utilizar dtype={"col1": int, "col2": float} para indicar que la columna "col1" contiene enteros y la columna "col2" contiene flotantes.
- usecols: especifica una lista de nombres de columna que se deben leer del archivo. Por ejemplo, puedes utilizar usecols=["col1", "col3"] para leer solo las columnas "col1" y "col3" del archivo.
- nrows: especifica el número de filas que se deben leer del archivo. Por ejemplo, puedes utilizar nrows=100 para leer solo las primeras 100 filas del archivo.
- skip_footer: especifica el número de líneas finales del archivo que se deben saltear. Por ejemplo, puedes utilizar skip_footer=1 para saltear la última línea del archivo.
- parse_dates: especifica una lista de nombres de columna que deben interpretarse como fechas. Por ejemplo, puedes utilizar parse_dates=["date_col"] para indicar que la columna "date_col" contiene fechas y deben parsearse al leer el archivo.
- date_parser: proporciona una función personalizada para parsear las fechas. Por ejemplo, puedes utilizar date_parser=lambda x: pd.datetime.strptime(x, "%d-%m-%Y") para parsear las fechas en el formato "dd-mm-yyyy".
Algunas de estas opciones son específicas de algunas funciones de lectura de Pandas. Por ejemplo, la opción skip_footer solo está disponible para la función pd.read_csv, mientras que la opción parse_dates solo está disponible para la función pd.read_excel.
Opciones pd.read_csv
La función 'pd.read_csv' de Pandas ofrece una amplia variedad de opciones y parámetros para controlar cómo se leen los datos de un archivo CSV. Algunas de las opciones más comunes son:- sep: indicar el separador de campos para el archivo CSV. Por ejemplo, puedes utilizar sep="," para indicar que los campos están separados por comas (que es el valor predeterminado) o sep=";" para indicar que los campos están separados por punto y coma.
- header: indicar el número de línea que contiene los nombres de las columnas. Por ejemplo, puedes utilizar header=0 para indicar que los nombres de las columnas están en la primera línea del archivo.
- index_col: especifica el número de columna que se debe utilizar como índice del DataFrame. Por ejemplo, puedes utilizar index_col=0 para indicar que la primera columna del archivo se debe utilizar como índice.
- names: especifica una lista de nombres de columna que se deben utilizar en lugar de los nombres de columna del archivo. Por ejemplo, puedes utilizar names=["col1", "col2", "col3"] para renombrar las columnas del archivo.
- usecols: especifica una lista de nombres de columna que se deben leer del archivo. Por ejemplo, puedes utilizar usecols=["col1", "col3"] para leer solo las columnas "col1" y "col3" del archivo.
- nrows: especifica el número de filas que se deben leer del archivo. Por ejemplo, puedes utilizar nrows=100 para leer solo las primeras 100 filas del archivo.
- quotechar: especificar el carácter de cita que se utiliza para encerrar los campos que contienen caracteres especiales o espacios
- skip_blank_lines: indicar si se deben saltear las líneas en blanco al leer el archivo.
Opciones pd.read_excel
La función pd.read_excel de Pandas ofrece una amplia variedad de opciones y parámetros para controlar cómo se leen los datos de un archivo de Excel. Algunas de las opciones más comunes son:- sheet_name: especifica el nombre de la hoja de cálculo que se debe leer. Por ejemplo, puedes utilizar sheet_name="Sheet1" para leer la hoja de cálculo "Sheet1".
- header: especifica el número de línea que contiene los nombres de las columnas. Por ejemplo, puedes utilizar header=0 para indicar que los nombres de las columnas están en la primera línea de la hoja de cálculo.
- index_col: especifica el número de columna que se debe utilizar como índice del DataFrame. Por ejemplo, puedes utilizar index_col=0 para indicar que la primera columna de la hoja de cálculo se debe utilizar como índice.
- usecols: especifica una lista de nombres de columna que se deben leer de la hoja de cálculo. Por ejemplo, puedes utilizar usecols=["col1", "col3"] para leer solo las columnas "col1" y "col3" de la hoja de cálculo.
- nrows: especifica el número de filas que se deben leer de la hoja de cálculo. Por ejemplo, puedes utilizar nrows=100 para leer solo las primeras 100 filas de la hoja de cálculo.
- parse_dates: especifica una lista de nombres de columna que deben interpretarse como fechas. Por ejemplo, puedes utilizar parse_dates=["date_col"] para indicar que la columna "date_col" contiene fechas y deben parsearse al leer la hoja de cálculo.
Opciones pd.read_json
La función pd.read_json de Pandas ofrece una amplia variedad de opciones y parámetros para controlar cómo se leen los datos de un archivo JSON. Algunas de las opciones más comunes son:- orient: especifica el formato de los datos en el archivo JSON. Los valores posibles son "split", "records", "index" y "columns". El valor predeterminado es "split".:
- typ: especifica el tipo de datos de retorno. Los valores posibles son "series" y "frame". El valor predeterminado es "frame".
- dtype: especifica el tipo de datos de cada columna. Por ejemplo, puedes utilizar dtype={"col1": int, "col2": float} para indicar que la columna "col1" contiene enteros y la columna "col2" contiene flotantes.
- convert_dates: indica si se deben convertir automáticamente las fechas al parsear el archivo JSON. El valor predeterminado es True.
- convert_axes: indica si se deben convertir automáticamente los ejes al parsear el archivo JSON. El valor predeterminado es True.
- keep_default_dates: indica si se deben conservar las fechas por defecto al parsear el archivo JSON. El valor predeterminado es True.
- date_unit: para especificar la unidad de tiempo que se utiliza para interpretar las fechas.
- lines: para leer el archivo JSON línea por línea en lugar de cargar todo el archivo en memoria de una vez.
Es importante tener en cuenta que cada función de lectura y escritura de la biblioteca Pandas de Python tiene un conjunto único de opciones y parámetros disponibles, y no todas las opciones pueden utilizarse con las diversas opciones de lectura y escritura de archivos. En caso de necesitar alguna función diferente, lo recomendable es consultar la documentación oficial de Pandas para obtener la lista completa de parámetros disponibles para cada función.
Asimismo, es aconsejable tener en cuenta que Pandas no es la única herramienta disponible para importar y exportar datos en Python a la hora de trabajar con grandes conjuntos de datos y matrices multidimensionales. También pueden utilizarse bibliotecas como NumPy y PyTables que también ofrecen funcionalidades para importar y exportar datos en diversos formatos. Aunque pandas es una de las bibliotecas de código que más utilizo habitualmente, en cada situación debes elegir la más conveniente para tratar los datos del proyecto actual y así conseguir la función óptima para las necesidades específicas.
Si quieres ver ejemplos reales, puedes consultar una forma sencilla de fusionar archivos Excel con distinto número de filas, En el ejemplo también está la unión de conjunto de datos con un número diferente de filas sin perder datos.
Comentarios del artículo "Cómo importar y exportar datos en Pandas"
¿Te ha gustado la información? Coméntanos tus opiniones, dudas y sugerencias: