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 mediante el módulo CSV. Entonces, tenemos que importar este módulo.
Ex: importar csv
El siguiente ejemplo muestra la forma en que se almacenan los datos en un archivo CSV. Aquí, se usa una coma como delimitador.
Nombre de archivo: person_info.csv
nombre, segundo nombre, apellido, edad
Anand, kumar, matemáticas, 31
Sachin, ramesh, tendulakar, 40 años
Virendra, sehwag, singh, 38
Rahul, dravid, xyz, 40 años
El archivo CSV se puede abrir en cualquiera de los siguientes modos:
r -> modo lectura
w -> modo de escritura
a -> modo de agregar
En Python, una operación de archivo se realiza en el siguiente orden:
- Abra 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 anexar. En modo lectura, si existe un archivo, lo abrirá en modo lectura; de lo contrario, arroja la excepción FileNotFoundError; y
- Cerrar el archivo.
Abra un archivo csv
Se utiliza el método incorporado open ().
Ex:
- f = open ("nombre de archivo.csv ”,” r ”) # En csv python el modo predeterminado es lectura
- f = open ("nombre de archivo.csv ”, 'w') # modo de escritura
Cerrar un archivo
Se utiliza el método incorporado close ().
fp = open ("nombre de archivo.csv ", 'w')# realizar algunas operaciones con archivos
fp.cerca()
Operaciones de archivo usando con
La mejor manera de realizar operaciones con archivos CSV, y el método más utilizado, es con la declaración. El uso de esto asegura que el archivo se cierre cuando se sale del bloque interior con.
Ex:
con open ('nombre de archivo.csv ',' w ', encoding =' utf-8 ') como fp:# realizar algunas operaciones con archivos
# declaraciones fuera del bloque with
Cuando salgamos con bloque, el archivo se cerrará automáticamente.
Escribir en un archivo CSV
Para escribir en un archivo CSV, necesitamos abrirlo en modo escribir 'w' o agregar 'a'.
En el siguiente ejemplo, vamos a leer de un archivo y escribir en un nuevo archivo.
importar csvcon 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, delimitador = '-')
para la línea en el lector: # Para iterar sobre cada fila
escritor.Writerow (línea) #write line to new file
Usando el escritor de diccionario
En el siguiente ejemplo, vamos a leer de un archivo y escribir en un nuevo archivo usando el método DictWriter ().
importar csvcon 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 nueva línea adicional
row_names = ['nombre', 'segundo nombre', 'apellido', 'edad']
escritor = csv.DictWriter (fq, fieldnames = row_names, delimiter = '-')
escritor.writeheader () # escribe líneas de encabezado
para el lector de entrada de línea:
escritor.Writerow (línea)
Writerows ()
Este método escribe varias filas a la vez; necesitamos pasar una lista de listas. Ex:
importar csvhead_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]]
# escribiendo en un archivo csv
con open ('newfilename.csv ',' w ') como fp:
# creando un objeto escritor csv
csvwriter = csv.escritor (fp)
# escribe el encabezado
csvwriter.escritor ahora (nombres_de_cabeza)
# escribe las filas de datos
csvwriter.Writerows (filas)
Leyendo desde archivo
Para leer el archivo CSV en Python, debemos abrir el archivo en modo lectura 'r'. Ex:
importar csvcon open ('nombre de archivo.csv ',' r ') como fp:
datos = csv.lector (fp)
# delimitador predeterminado es coma, si csv separado por otro delimitador es necesario especificar
#Ex data = csv.lector (fp, delimitador = '-')
imprimir (datos) # devuelve el objeto
# saltando el encabezado
siguiente (datos) # llamar al siguiente método del generador
para los datos de entrada de línea: # Para iterar sobre cada fila
print (línea) # imprime cada valor en una lista
fp.seek (0) # lleva el cursor a la primera línea
para datos de entrada de línea:
print (línea [0]) # imprime solo los nombres
Usando el lector de diccionario
Para leer un archivo csv usando el método DictReader ().
importar csvcon open ('nombre de archivo.csv ',' r ') como fp:
lector = csv.DictReader (fp) #read file
para el lector de entrada de línea:
print (línea) #imprime cada fila en forma de dictinario
fp.seek (0) # lleva el cursor a la primera línea
para datos en lector:
print (data ['edad']) # podemos imprimir solo la edad usando la tecla 'edad'
Conclusión
Hemos aprendido a leer y escribir un archivo usando 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.