Blog Sobre mí Contacto Iniciar Sesión Registro

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.
Cómo importar y exportar datos con Pandas Python
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")
La función read_csv devuelve un DataFrame de Pandas, que es una estructura de datos tabular con filas y columnas. Una vez que tienes los datos en un DataFrame, puedes realizar una amplia variedad de operaciones de análisis y manipulación de datos.

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)
En este ejemplo, estamos utilizando el argumento 'index=False' para indicar que no queremos escribir el índice del DataFrame en el archivo CSV. Hay muchas otras opciones y parámetros disponibles para la importación y exportación de datos con Pandas. Por ejemplo, puedes utilizar las funciones read_excel y to_excel para trabajar con archivos de Excel, o las funciones read_json y to_json para trabajar con archivos JSON.

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")
La función 'read_excel' devuelve un DataFrame de Pandas con los datos de la hoja de cálculo especificada. Si no especificas un nombre de hoja de cálculo, se leerá la primera hoja por defecto.

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")
En este ejemplo, estamos utilizando el argumento sheet_name para indicar que queremos escribir los datos en una hoja de cálculo llamada "Sheet1". Si no especificas un nombre de hoja de cálculo, se utilizará el nombre por defecto "Sheet1". Hay muchas otras opciones y parámetros disponibles para la importación y exportación de datos con Pandas y Excel. Por ejemplo, puedes utilizar el argumento header para especificar si deseas escribir los nombres de las columnas en la primera fila del archivo de Excel, o el argumento index para especificar si deseas escribir el índice del DataFrame en la primera columna.

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")
La función read_json devuelve un DataFrame de Pandas con los datos del archivo JSON. Si el archivo JSON contiene una matriz de objetos, cada objeto se convertirá en una fila del DataFrame. Si el archivo JSON contiene un objeto con claves y valores, cada clave se convertirá en una columna del DataFrame y cada valor se convertirá en una celda.

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")
En este ejemplo, estamos utilizando la función to_json sin ningún parámetro adicional, lo que significa que se escribirán los datos del DataFrame en formato JSON estructurado como una lista de diccionarios. Hay muchas otras opciones y parámetros disponibles para la importación y exportación de datos con Pandas y JSON. Por ejemplo, puedes utilizar el argumento 'orient' para especificar si deseas escribir los datos como una lista de diccionarios o como un diccionario de diccionarios, o el argumento index para especificar si deseas incluir el índice del DataFrame en los datos exportados.

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")
La función read_csv devuelve un DataFrame de Pandas con los datos del archivo de texto. Cada línea del archivo se convierte en una fila del DataFrame, y cada campo se convierte en una columna del DataFrame.

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)
En este ejemplo, estamos utilizando el argumento 'sep' para indicar que queremos separar los campos por tabulaciones y el argumento 'index' para indicar que no queremos escribir el índice del DataFrame en el archivo de texto. Hay muchas otras opciones y parámetros disponibles para la importación y exportación de datos con Pandas y archivos de texto. Por ejemplo, puedes utilizar el argumento header para especificar si deseas escribir los nombres de las columnas en la primera línea del archivo de texto, o el argumento 'quotechar' para especificar el carácter de cita que se utilizará para encerrar los campos que contienen caracteres especiales o espacios.

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".
Hay muchas otras opciones disponibles, y no todas las opciones están disponibles para todas las funciones de lectura de Pandas. Por ejemplo, la función pd.read_excel tiene opciones adicionales para controlar la lectura de hojas de cálculo y la función pd.read_json tiene opciones adicionales para controlar la interpretación de datos JSON.
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 posible que haya algunas opciones o características que no haya mencionado. Sin embargo, las opciones y características más comunes e importantes para importar y exportar datos con Pandas son las indicadas.

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.
Pandas Python Data Analysis Library

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:


Añade un comentario:

Tu dirección de correo electrónico no será publicada. | Registro requerido. | ¿Ya eres usuario? Login