Pitón

Manejo de archivos CSV en Python

Manejo de archivos CSV en Python
En este tema, aprenderemos 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 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 csv

Se utiliza el método incorporado open ().

Ex:

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 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, 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 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 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 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]]
# 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 csv
con 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 csv
con 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.

SuperTuxKart para Linux
SuperTuxKart es un gran título diseñado para ofrecerte la experiencia Mario Kart de forma gratuita en tu sistema Linux. Es bastante desafiante y diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth es uno de los juegos de estrategia de código abierto más populares que puedes jugar en este momento. Este juego no solo ha esta...
0 A.D. Tutorial
De los muchos juegos de estrategia que existen, 0 A.D. logra destacarse como un título completo y un juego táctico muy profundo a pesar de ser de códi...