Analizar datos CSV en Python
Python ofrece soporte incorporado para trabajar con datos CSV a través del módulo csv
. Este módulo proporciona una forma sencilla y eficiente de leer, escribir y manipular archivos CSV.
Leer datos CSV
Para leer un archivo CSV en Python, puedes utilizar la función csv.reader()
. Esta función toma un iterable (como un objeto de archivo) y devuelve un objeto lector que se puede utilizar para iterar sobre las filas del archivo CSV.
import csv
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
La función csv.reader()
también admite varias opciones, como especificar el delimitador, manejar filas de encabezados y tratar con valores entre comillas.
Escribir datos CSV
Para escribir datos en un archivo CSV, puedes utilizar la función csv.writer()
. Esta función toma un iterable (como un objeto de archivo) y devuelve un objeto escritor que se puede utilizar para escribir filas en el archivo CSV.
import csv
data = [['Name', 'Age', 'City'],
['John Doe', 35, 'New York'],
['Jane Smith', 28, 'Los Angeles'],
['Bob Johnson', 42, 'Chicago']]
with open('output.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
La función csv.writer()
también admite varias opciones, como especificar el delimitador, manejar filas de encabezados y dar formato a los datos.
Manejar dialectos CSV
El módulo csv
en Python también ofrece soporte para manejar diferentes "dialectos" del formato CSV. Un dialecto es un conjunto de parámetros que definen la estructura del archivo CSV, como el delimitador, el comportamiento de citado y el terminador de línea.
Puedes definir dialectos personalizados utilizando la función csv.register_dialect()
, y luego utilizarlos con las funciones csv.reader()
y csv.writer()
.
import csv
## Register a custom dialect
csv.register_dialect('custom', delimiter=';', quotechar='"', quoting=csv.QUOTE_MINIMAL)
with open('data.csv', 'r') as file:
reader = csv.reader(file, dialect='custom')
for row in reader:
print(row)
Al comprender las capacidades del módulo csv
en Python, puedes analizar y trabajar de manera efectiva con datos CSV en tus aplicaciones.