Leer y escribir archivos CSV en Python con Pandas

    Hay muchas formas de leer y escribir archivos CSV en Python. Hay algunos m茅todos diferentes, por ejemplo, puede usar Python incorporado open() funci贸n para leer los archivos CSV (valores separados por comas) o puede utilizar la funci贸n dedicada de Python csv m贸dulo para leer y escribir archivos CSV. Dependiendo de su caso de uso, tambi茅n puede usar la biblioteca Pandas de Python para leer y escribir archivos CSV.

    En este art铆culo, ver谩 c贸mo usar Python Biblioteca de pandas para leer y escribir archivos CSV. Sin embargo, antes de eso, veamos brevemente qu茅 es un archivo CSV.

    驴Qu茅 es un archivo CSV?

    Un archivo CSV no es m谩s que un simple archivo de texto. Sin embargo, es el m茅todo m谩s com煤n, simple y f谩cil de almacenar datos tabulares. Este formato particular organiza las tablas siguiendo una estructura espec铆fica dividida en filas y columnas. Son estas filas y columnas las que contienen sus datos. Una nueva l铆nea termina cada fila para comenzar la siguiente. De manera similar, una coma, tambi茅n conocida como delimitador, separa las columnas dentro de cada fila.

    Tome la siguiente tabla como ejemplo:

    | City         | State        | Capital | Population    |
    | ------------ | ------------ | ------- | ------------- |
    | Philadelphia | Pennsylvania | No      | 1.581 Million |
    | Sacramento   | California   | Yes     | 0.5 Million   |
    | New York     | New York     | No      | 8.623 Million |
    | Austin       | Texas        | Yes     | 0.95 Million  |
    | Miami        | Florida      | No      | 0.463 Million |
    

    Ahora, la tabla anterior se ver谩 de la siguiente manera si la representamos en formato CSV:

    City, State, Capital, Population
    Philadelphia, Pennsylvania, No, 1.581 Million
    Sacramento, California, Yes, 0.5 Million
    New York, New York, No, 8.623 Million
    Austin, Texas, Yes, 0.95 Million
    Miami, Florida, No, 0.463 Million
    

    Como puede ver, una coma separa todos los valores en columnas dentro de cada fila. Sin embargo, tambi茅n puede utilizar otros s铆mbolos, como un punto y coma (;), como separador. Cada fila de la tabla se convierte en una nueva l铆nea del archivo CSV. El prop贸sito principal del formato CSV es ayudarlo a presentar los datos tabulares de manera compacta y concisa.

    Ahora que ha entendido qu茅 es un archivo CSV, es hora de estudiar c贸mo read_csv() El m茅todo se utiliza para leer archivos CSV en Python.

    Lectura y escritura de archivos CSV usando Pandas

    Pandas es un marco muy poderoso y popular para el an谩lisis y la manipulaci贸n de datos. Una de las caracter铆sticas m谩s llamativas de Pandas es su capacidad para leer y escribir varios tipos de archivos, incluidos CSV y Excel. Puede manipular archivos CSV de forma eficaz y sencilla en Pandas utilizando funciones como read_csv() y to_csv().

    Instalaci贸n de Pandas

    Tenemos que instalar Panda antes de usar el framework. Uno de los m茅todos m谩s f谩ciles de instalar Pandas es instalar Anaconda. Es una distribuci贸n de Python multiplataforma para tareas como la computaci贸n Python y el an谩lisis de datos. Una vez que instale Anaconda, tendr谩 acceso a Pandas y otras bibliotecas como SciPy y NumPy sin hacer nada m谩s.

    Adem谩s, tambi茅n puede instalar Pandas a trav茅s del instalador pip, como se muestra aqu铆:

    $ pip install pandas
    

    Lectura de archivos CSV con read_csv ()

    Una vez que haya completado la instalaci贸n, puede usar el read_csv() funci贸n para leer un archivo CSV. Intentaremos leer el archivo “titanic.csv”, que se puede descargar desde este enlace.

    Primero tenemos que importar la biblioteca de Pandas:

    import pandas as pd
    

    Ahora, usamos la siguiente l铆nea de c贸digo para leer y analizar el archivo:

    titanic_data = pd.read_csv('titanic.csv')
    

    Cuando ejecutemos este c贸digo, leer谩 el archivo CSV “titanic.csv” del directorio actual. Puede ver en el script anterior que para leer un archivo CSV, debe pasar la ruta del archivo al read_csv() m茅todo de la biblioteca Pandas. los read_csv() luego devuelve un Pandas DataFrame que contiene los datos del archivo CSV.

    Puede mostrar las primeras cinco filas del archivo CSV a trav茅s del head() m茅todo del Pandas DataFrame, como se muestra a continuaci贸n:

    titanic_data.head()
    

    Salida:

    Tambi茅n puede leer un archivo CSV de un recurso en l铆nea simplemente pasando la URL del recurso al read_csv() m茅todo. Leamos el archivo “titanic.csv” ubicado en un repositorio remoto de GitHub.

    import pandas as pd
    
    titanic_data = pd.read_csv(r'https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv')
    

    Por defecto, el read_csv() El m茅todo trata los valores de la primera fila de un archivo CSV como encabezados de columna. Sin embargo, puede pasar los nombres de sus encabezados personalizados mientras lee un archivo a trav茅s del read_csv() m茅todo:

    import pandas as pd
    
    col_names = ['Id',
                 'Survived',
                 'Passenger Class',
                 'Full Name',
                 'Gender',
                 'Age',
                 'SibSp',
                 'Parch',
                 'Ticket Number',
                 'Price', 'Cabin',
                 'Station']
    
    titanic_data = pd.read_csv(r'E:Datasetstitanic.csv', names=col_names, header=None)
    

    Para leer un archivo CSV con encabezados personalizados, debe pasar una lista de nombres de columnas personalizados al names atributo del read_csv() m茅todo. Si desea sobrescribir los nombres de encabezado predeterminados, puede pasar el header=None argumento de palabra clave.

    Veamos ahora los nombres de encabezado del archivo “titanic.csv” que le铆mos en el 煤ltimo ejemplo.

    titanic_data.head()
    

    Salida:

    Aqu铆 puede ver sus encabezados personalizados en la salida del DataFrame.

    Escribir archivos CSV con to_csv ()

    El proceso de crear o escribir un archivo CSV a trav茅s de Pandas puede ser un poco m谩s complicado que leer CSV, pero a煤n es relativamente simple. Usamos el to_csv() funci贸n para realizar esta tarea. Sin embargo, primero debe crear un Pandas DataFrame, y luego escribir ese DataFrame en el archivo CSV.

    Los nombres de columna tambi茅n se pueden especificar mediante el argumento de palabra clave columns, as铆 como un delimitador diferente a trav茅s del sep argumento. Nuevamente, el delimitador predeterminado es una coma, ‘,’.

    Aqu铆 hay un ejemplo simple que muestra c贸mo exportar un DataFrame a un archivo CSV a trav茅s de to_csv():

    import pandas as pd
    
    city = pd.DataFrame([['Sacramento', 'California'], ['Miami', 'Florida']], columns=['City', 'State'])
    city.to_csv('city.csv')
    

    En el ejemplo anterior, hemos creado un DataFrame llamado city. Posteriormente, hemos escrito ese DataFrame en un archivo llamado “city.csv” usando el to_csv() funci贸n. El archivo CSV resultante debe tener el siguiente contenido:

    City,State
    Sacramento,California
    Miami,Florida
    

    El archivo CSV contiene nuestros encabezados personalizados, seguidos de las 2 filas de datos contenidos en el DataFrame que creamos.

    Conclusi贸n

    El art铆culo muestra c贸mo leer y escribir archivos CSV utilizando la biblioteca Pandas de Python. Para leer un archivo CSV, el read_csv() se utiliza el m茅todo de la biblioteca Pandas. Tambi茅n puede pasar nombres de encabezados personalizados mientras lee archivos CSV a trav茅s del names atributo del read_csv() m茅todo. Finalmente, para escribir un archivo CSV usando Pandas, primero debe crear un objeto Pandas DataFrame y luego llamar to_csv m茅todo en el DataFrame.

     

    Etiquetas:

    Deja una respuesta

    Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *