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 *