Manejo de archivos CSV en Python

Manejo de archivos CSV en Python
En este tema, vamos a aprender a leer y escribir archivos CSV en Python.

Definición: CSV (valor separado por comas) es similar a un archivo de texto donde los datos almacenados están separados por algún delimitador (generalmente una coma). Cada campo está separado por un delimitador. En Python, los archivos CSV se procesan utilizando el módulo CSV. Entonces, tenemos que importar este módulo.

Ex: importar CSV

El siguiente ejemplo muestra la forma en que los datos se almacenan en un archivo CSV. Aquí, una coma se usa como delimitador.

Nombre de archivo: persona_info.CSV
Nombre, segundo nombre, apellido, edad
Anand, Kumar, Matemáticas, 31
Sachin, Ramesh, Tendulakar, 40
Virendra, Sehwag, Singh, 38
Rahul, Dravid, xyz, 40

El archivo CSV se puede abrir en cualquiera de los siguientes modos:
R -> Modo de lectura
W -> Modo de escritura
A -> Modo de apertura

En Python, se realiza una operación de archivo en el siguiente orden:

  • Abrir un archivo;
  • Leer, escribir o agregar. Cuando especificamos el modo de escritura, el archivo se abrirá en modo de escritura si el archivo existe, de lo contrario, creará un archivo. Esto también es aplicable para el modo de apertura. En el modo de lectura, si existe un archivo, abrirá el archivo en modo de lectura, de lo contrario, lanza la excepción de FileNotFoundError; y
  • Cierre el archivo.

Abra un archivo CSV

Se utiliza el método incorporado abre ().

Ex:

  • f = abierto ("nombre de archivo.CSV "," R ") # en CSV Python predeterminado es el modo de lectura
  • f = abierto ("nombre de archivo.CSV ”, 'W') # Modo de escritura

Cerrar un archivo

Se utiliza el método incorporado cerca ().

FP = Open ("nombre de archivo.CSV ", 'W')
# Realizar algunas operaciones de archivo
FP.cerca()

Operaciones de archivo utilizando con

La mejor manera de realizar la operación del archivo CSV y el método más utilizado es con la declaración. El uso de esto asegura que el archivo esté cerrado cuando se sale el bloque interior.

Ex:

con Open ('nombre de archivo.csv ',' w ', coding =' utf-8 ') como fp:
#Performarse algunas operaciones de archivo
#Estados fuera del bloque con bloque

Cuando salgamos con Bloque, el archivo se cerrará automáticamente.

Escriba a un archivo CSV

Para escribir en un archivo CSV, necesitamos abrirlo en el modo de escribir 'w' o agregar 'a'.

En el siguiente ejemplo, vamos a leer de un archivo y escribir en un nuevo archivo.

Importar CSV
con Open ('nombre de archivo.csv ',' r ') como fp:
lector = CSV.Reader (FP) #Read File
con Open ('NewfileName.csv ',' w ') como fq:
escritor = CSV.escritor (fq, delimiter = '-')
Para la línea en el lector: #to iterrate sobre cada fila
escritor.Writerow (Line) #Write Line a nuevo archivo

Usar escritor del diccionario

En el siguiente ejemplo, vamos a leer de un archivo y escribir en un nuevo archivo utilizando el método DictWriter ().

Importar CSV
con Open ('nombre de archivo.csv ',' r ') como fp:
lector = CSV.Dictreader (FP) #Read File
con Open ('NewfileName.csv ',' w ', newline = ") como fq: #newline =" para evitar agregar una línea nueva adicional
row_names = ['Nombre', 'segundo nombre', 'apellido', 'edad']
escritor = CSV.DictWriter (fq, fieldNames = Row_names, delimiter = '-')
escritor.WriteHeader ()#Escribir líneas de encabezado
Para la línea en el lector:
escritor.Writerow (línea)

Writerows ()

Este método escribe varias filas a la vez; Necesitamos aprobar una lista de listas. Ex:

Importar CSV
head_names = ['Nombre', 'segundo nombre', 'apellido', 'edad']
# Filas de datos del archivo CSV
filas = [['anand', 'kumar', 'matemáticas', 31],
['Sachin', 'ramesh', 'tendulakar', 40],
['Virendra', 'Sehwag', 'Singh', 38],
['Rahul', 'dravid', 'xyz', 40]]
# escribir en el archivo CSV
con Open ('NewfileName.csv ',' w ') como fp:
# Crear un objeto de escritor de CSV
CSVWriter = CSV.escritor (FP)
# Escribe el encabezado
csvwriter.Writerow (head_names)
# Escribe las filas de datos
csvwriter.Writerows (filas)

Lectura del archivo

Para leer el archivo CSV en Python, debemos abrir el archivo en modo de lectura 'R'. Ex:

Importar CSV
con Open ('nombre de archivo.csv ',' r ') como fp:
datos = CSV.Lector (FP)
#Default Delimiter es coma, si CSV separado por otro delimitador debe especificar
#EX Data = CSV.Reader (fp, delimiter = '-')
Imprimir (Data) # Objeto de retorno
#sking el encabezado
Siguiente (datos) #call siguiente método de generador
Para la línea en datos:#para iterrate sobre cada fila
imprimir (línea) # imprimir cada valor en una lista
FP.buscar (0)# trae cursor a la primera línea
Para la línea en los datos:
Imprimir (línea [0])# Imprimir solo nombres

Usando el lector de diccionario

Para leer el archivo CSV usando el método Dictreader ().

Importar CSV
con Open ('nombre de archivo.csv ',' r ') como fp:
lector = CSV.Dictreader (FP) #Read File
Para la línea en el lector:
imprimir (línea)#impron cada fila en forma de dictinaria
FP.buscar (0)# trae cursor a la primera línea
Para datos en el lector:
imprimir (datos ['edad'])#Podemos imprimir solo la edad utilizando la tecla 'edad'

Conclusión

Hemos aprendido a leer y escribir un archivo utilizando el módulo CSV. El archivo CSV es el formato de archivo más utilizado en la industria de la automatización porque es fácil de leer y modificar los datos. Además, Pandas es otro método que podemos usar para procesar archivos CSV.