Cómo analizar archivos CSV en Python

Comentarios: 0

El análisis sintáctico de datos se define como una recopilación y procesamiento automático de información, que se utiliza a menudo en el caso de archivos CSV. El análisis sintáctico consiste en dividir los archivos CSV en filas, columnas y valores. De este modo, los datos pueden ser analizados, filtrados y extraídos para su posterior trabajo sin esfuerzo. En este artículo explicaremos cómo usar Python para leer archivos csv. Además, mostraremos cómo analizar datos de un archivo CSV en Python.

¿Qué es un fichero CSV?

CSV, o (Comma Separated Values), es un formato de archivo que guarda datos de forma que tiene valores separados por comas y nuevos saltos de línea. Debido a esto, el formato CSV se puede utilizar en una variedad de contextos, tales como la creación o modificación de datos en Excel.

Una de las principales ventajas de los archivos CSV es la facilidad para acceder a la información y compartirla. Su unicidad permite abrir y procesar el archivo independientemente del software que se utilice. Esto hace que sea conveniente exportar dichos datos en forma de hoja de cálculo o base de datos.

Ahora, vamos a mostrar cómo abrir y leer CSV en Python en el siguiente bloque.

Parar ficheros CSV con Python

Python tiene una biblioteca CSV incorporada que es capaz de leer y escribir datos con facilidad. Instalar librerías externas no es necesario lo que hace que analizar contenido y abrir archivos sea una tarea tan sencilla.

Los siguientes segmentos de código muestran cómo abrir e imprimir un archivo СSV llamado university_records en Python. Utiliza el modo lectura para abrir el archivo, y luego lee el archivo CSV, finalmente, imprime los datos con un bucle for.


import csv

with open('university_records.csv', 'r') as csv_file:
    reader = csv.reader(csv_file)

    for row in reader:
        print(row)

Escribir archivos CSV con Python

Para ello, emplearemos el módulo CSV para escribir datos. Existen métodos útiles para ayudarle a escribir información en el módulo CSV:

  • .writer() - sirve como herramienta de creación de archivos;
  • .writerow() - almacena los datos en una fila.

Los métodos del módulo se ilustran ampliamente en el código siguiente:


import csv

row = ['David', 'MCE', '3', '7.8']

row1 = ['Monika', 'PIE', '3', '9.1']

row2 = ['Raymond', 'ECE', '2', '8.5']

with open('university_records.csv', 'a') as csv_file:
    writer = csv.writer(csv_file)

    writer.writerow(row)

    writer.writerow(row1)

    writer.writerow(row2)

Parseando CSV con la librería Pandas

Usar python para analizar archivos CSV es crucial hoy en día: desde hojas de cálculo para finanzas hasta bases de datos colosales para aprendizaje automático. A veces, trabajar con esos archivos es un suplicio, sobre todo cuando se necesitan más funcionalidades de las que Python proporciona de fábrica. En esos casos, la librería Pandas puede venir muy bien.

La capacidad completa de escribir datos con DataFrame se demuestra a continuación. DataFrame es una de las principales estructuras de datos de la librería Pandas y se utiliza para trabajar con datos tabulares.


import pandas as pd

data = {"Name": ["David", "Monika", "Raymond"], 
        "Age": [30, 25, 40], 
        "City": ["Kyiv", "Lviv", "Odesa"]
} 

df = pd.DataFrame(data) 

file_path = "data.csv" 
df.to_csv(file_path, index=False, encoding="utf-8")



Características principales de la librería Pandas

Para Python la librería Pandas es considerada una de las más efectivas para parsear CSV y aquí están las razones por las que es tan poderosa y conveniente:

  1. Simple carga de archivos. Si un conjunto de datos proviene de múltiples orígenes y tiene inconsistencia en su formato, entonces Pandas demostrando que es supremo es mágico ya que analiza el archivo automáticamente eliminando el esfuerzo manual.
  2. Escalabilidad. Cuando las librerías estándar de Python intentan parsear grandes volúmenes de ficheros CSV, normalmente se retrasan mucho pero con Pandas, la optimización está hecha ya que es superior en el rendimiento con ficheros más grandes. Además, la fragmentación de la carga de archivos permite evitar la sobrecarga de memoria.
  3. Tratando con varios procesos. Los valores perdidos, formatos erróneos y duplicados se encuentran principalmente en los archivos CSV. Lo bueno es que Pandas demuestra una vez más esa magia con herramientas integradas como la sustitución de datos y tipos que faltan, la limpieza de caracteres y la reestructuración de la información para realizar análisis avanzados.

Estas características demuestran que la biblioteca es la mejor para analizar rápidamente archivos CSV, ya que otras herramientas son limitadas en comparación. Al mismo tiempo, es capaz de procesar grandes cantidades de datos lo que la hace extremadamente útil en el mundo de la información.

Lectura de ficheros CSV con Pandas

Antes de poder utilizar el documento CSV, el primer paso es cargarlo.


import pandas as pd

df = pd.read_csv("data.csv")

Cuando se trata con grandes conjuntos de datos, las herramientas Pandas son apropiadas para su uso. Exploremos cómo un script de Python puede analizar un archivo CSV.


df.head() # Muestra las 5 primeras filas
df.tail(10) # Muestra las 10 últimas filas
df.info() # Muestra una lista de columnas, tipos de datos y número de valores rellenados

Para seleccionar una o varias columnas, ejecute:


df["Name"] # Obtener la columna "Name"


df[["Name", "Age"]] # Extraer sólo "Name" y "Age"

Escribir archivos CSV con Pandas

Ahora veamos cómo insertar, modificar y eliminar filas concretas.

Insertar una nueva fila:


# Cargar el archivo CSV
df = pd.read_csv(file_path) 

# Añadir una nueva fila
new_row = pd.DataFrame([{"Name": "Denys", "Age": 35, "City": "Kharkiv"}]) df = pd.concat([df, new_row], ignore_index=True) 


# Guardar
df.to_csv(file_path, index=False, encoding="utf-8")

Modificar una fila concreta:


df = pd.read_csv(file_path) 

# Cambiar la edad de Iván
df.loc[df["Name"] == "Ivan", "Age"] = 26 

df.to_csv(file_path, index=False, encoding="utf-8")

Eliminar una fila:


df = pd.read_csv(file_path) 

# Eliminar la fila donde Name == "Mykhailo" 
df = df[df["Name"] != "Mykhailo"] 

df.to_csv(file_path, index=False, encoding="utf-8")

Conclusión

En resumen, en este artículo hemos mostrado cómo abrir y leer un fichero CSV en Python. Pero siempre que un usuario requiera mayor precisión y potentes herramientas de interpretación, Pandas funciona a la perfección. Automatizando procesos repetitivos, permitiendo el manejo de ficheros masivos y ahorrando tiempo, esta librería es muy eficaz. Por lo tanto, se puede concluir que para las funciones básicas, la biblioteca CSV estándar proporciona los requisitos, mientras que Pandas está hecha para tratar con datos de información extensa.

Comentarios:

0 Comentarios