python csv

Funciones y métodos de Python

El módulo Python CSV se usa para manejar archivos CSV. Los archivos CSV pueden contener mucha información, y el módulo CSV permite que Python lea y escriba en archivos CSV con reader () y writer ()

Leer, escribir y manipular datos es una parte esencial de la programación. Por lo tanto, puede ser útil saber cómo manejar archivos en Python, para que pueda leer y escribir datos de fuentes externas. 

Por ejemplo, digamos que es el propietario de una heladería local que desea obtener más información sobre las tendencias de los clientes. Puede usar Python para analizar los datos que ha recopilado sobre los pedidos de los usuarios para averiguar qué sabores de helado son populares, cuánto gastan las personas en esos sabores y más.

Aquí es donde Python CSV viene el módulo. Los archivos CSV se utilizan para almacenar una gran cantidad de datos, y el módulo CSV le permite analizar esos archivos en Python. En este tutorial, vamos a explorar cómo leer y escribir en archivos CSV usando el módulo CSV Python.




CSV Refresher

Cuando esté trabajando con datos, es posible que tenga una lista de esos datos separados por comas. Por ejemplo, puede tener una lista de pedidos de helados cuyos valores están separados por comas. Esta estructura de datos se conoce como datos CSV o valores separados por comas.

Los archivos de texto tradicionales pueden ser útiles cuando necesita almacenar datos, pero no se pueden usar para almacenar datos estructurados. Los archivos CSV, por otro lado, le permiten almacenar datos estructurados en un formato de tabla al que puede hacer referencia en su código, de forma similar a como las hojas de cálculo y las bases de datos le permiten almacenar datos estructurados. Por ejemplo, puede tener un archivo CSV que almacena sabores de helado o información del proveedor.

Aquí hay un ejemplo de un archivo CSV:

 proveedores.csv Hendersons Creamery, 123 Main Street, Cream Peterson Chocolate, 129 Second Street, Chocolate Sprinkles 

Este archivo almacena tres elementos: el nombre de un proveedor, su dirección y el producto con el que abastecen nuestro negocio. Nuestro archivo también almacena dos líneas de datos, una para Hendersons Creamery y la otra para Peterson Chocolate.

El 81% de los participantes dijeron que se sentían más seguros acerca de sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asóciese a un bootcamp hoy mismo.

El graduado promedio de un bootcamp pasó menos de seis meses en la transición profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Porque nuestros datos están estructurados en un archivo CSV, podemos analizarlo a través de un programa Python y obtener datos de columnas o filas individuales.




Módulo Python CSV

El módulo Python CSV se puede usar para analizar datos CSV en Pitón. Por lo tanto, si tiene un archivo CSV de información del proveedor, por ejemplo, puede usar el módulo CSV para recuperar y trabajar con esos datos.


< / a>

CSV es un módulo Python integrado, pero antes de comenzar a usarlo, tenemos que importar CSV a nuestro programa. Podemos hacerlo usando este código:

 importar csv 

Lectura de archivos CSV

Antes de poder trabajar con datos en un archivo CSV, necesita leer el archivo. El módulo CSV viene con un método llamado reader () que puede usarse para leer un archivo CSV en nuestro programa. La función de lectura toma cada línea de un archivo específico y la convierte en una lista de columnas.

Digamos que tenemos una lista de proveedores de helados en un archivo llamado Suppliers.csv que queremos leer en nuestro programa. El contenido del archivo es el siguiente:

 Hendersons Lechería , 123 Main Street, Cream Peterson Chocolate, 129 Second Street, Chocolate Sprinkles HW Smith and Co, 17 Boston Avenue, Ice Cream Cones 

Podemos recuperar estos datos utilizando el siguiente código:

 importar csv con open ("proveedores.csv", "r") como f: contents = csv.reader ( f) para c en el contenido: print (c) 

Aquí están sucediendo muchas cosas, así que vamos a desglosarlo. En la primera línea, importamos el módulo csv , que nos permite usar métodos CSV en nuestro código. En la siguiente línea, usamos una instrucción with para abrir nuestro archivo, e indicamos que a nuestro archivo se le debe asignar el valor f

A continuación, usamos contents = csv.reader (f) para leer el contenido de nuestro archivo, haciendo uso del csv.reader () función. Finalmente, nuestro programa crea un bucle for que recorre cada línea en el archivo CSV y lo imprime en el shell de Python.

Nuestro programa devuelve lo siguiente:

 [' Hendersons Creamery', '123 Main Street',' Cream'] ['Peterson Chocolate',' 129 Second Street', 'Chocolate Sprinkles'] ['HW Smith and Co',' 17 Boston Avenue', 'Ice Cream Cones'] 

Como puede ver, nuestro programa ha leído el contenido de nuestro archivo y ha convertido cada línea en una matriz. Ahora que tenemos estos datos, podemos manipularlos en nuestro programa.

Digamos que estamos enviando un aviso para cancelar nuestros pedidos para la próxima semana porque la tienda estará cerrada. Podríamos usar este código para obtener las direcciones de cada proveedor para poder enviarles el aviso:

 & hellip; para c en el contenido: print (c [1]) 

Nuestro programa devuelve:

 123 Main Street 129 Second Street 17 Boston Avenue 

En nuestro código, creamos un bucle for que pasa por cada línea de nuestro contenido variable. Luego, imprimimos el valor de cada artículo con el número de índice 1 , que en este caso contiene la dirección de cada proveedor.


Ahora, digamos que queremos leer datos de nuestro archivo en una matriz. Esta es una función común porque nos permite almacenar nuestros datos en otra variable para uso posterior. Aquí está el código que podríamos usar para realizar esta acción:

 importar csv proveedores = [] con abierto ("proveedores.csv", "r") como f: contenido = csv.reader (f) para c en contenido: proveedores.append (c) imprimir (proveedores) 

Nuestro código devuelve lo siguiente:

 [[Hendersons Creamery', '123 Main Street',' Cream'], ['Peterson Chocolate',' 129 Second Street', 'Chocolate Sprinkles'], [' HW Smith and Co', '17 Boston Avenue',' Ice Cream Cones']] 

Expliquemos qué está pasando en o tu código. Nuestro programa abre el archivo proveedores.csv , lee el archivo y luego agrega cada registro en la matriz proveedores que declaramos al inicio de nuestro programa. Luego, nuestro programa imprime la variable proveedores

Escritura en archivos CSV

El módulo CSV contiene un método que se puede utilizar para escribir datos en un archivo CSV: writer () . La función writer () nos permite escribir datos en el archivo que especificamos para que podamos guardar nuestros datos para su uso posterior.

El writer () La función crea un objeto que podemos usar para escribir en un archivo. Luego, para escribir datos en nuestro archivo, usamos el método writerow () .

"Career Karma entró en mi vida cuando más lo necesitaba y rápidamente me ayudó a encajar con un campamento de entrenamiento. Dos meses después de graduarme, encontré el trabajo de mis sueños que se alineaba con mis valores y metas en la vida. "

Venus, ingeniero de software en Rockbot

Digamos que hemos escrito un programa que agrega un nuevo valor al registro de cada proveedor. Este valor es válido tanto si el proveedor es el principal proveedor de un determinado producto como si no. Aquí está el código que podríamos usar para escribir los datos que tenemos en un archivo:

 importar csv proveedores = [] con abierto ("proveedores.csv", "r") como f: contenido = csv.reader (f) para c en contenido: c.append ("Sí") proveedores.append (c) con abierto ("nuevos_proveedores .csv "," w ") como f: write_to_file = csv.writer (f) para s en proveedores: write_to_file.writerow (s) 

El inicio de nuestro código es muy similar a nuestros ejemplos anteriores; lee el archivo proveedores.csv y mueve su contenido a la matriz proveedores . La única diferencia es que la función de lectura agrega un nuevo valor llamado Yes a cada artículo en nuestra matriz de proveedores. Este valor indica si el proveedor es o no el proveedor principal de un determinado producto.

A continuación, abrimos un nuevo archivo llamado new_suppliers.csv y escribimos el contenido de nuestro proveedores a ese archivo. Usamos la función writer () para preparar nuestro archivo para escritura.

Luego, creamos un bucle for que pasa por nuestros proveedores de y usa el método writerow () para agregar cada proveedor al archivo new_suppliers.csv .

Nuestro código devuelve lo siguiente:

 new_suppliers.csv Hendersons Creamery, 123 Main Street, Cream, Yes Peterson Chocolate, 129 Second Street, Chocolate Sprinkles , Sí HW Smith and Co, 17 Boston Avenue, Ice Cream Cones, Sí 

Sin embargo, no es necesario recorrer cada artículo si queremos escribir todos nuestros proveedores variable a un archivo. En su lugar, podemos usar el método writerows () para escribir cada elemento de la variable proveedores en nuestro archivo new_suppliers.csv .


Aquí está el código que usaríamos:

 & hellip ; write_to_file = csv.writer (f) write_to_file.writerows (proveedores) & hellip; 

Nuestro código devuelve:

 new_suppliers.csv Hendersons Creamery, 123 Main Street, Cream, Sí Peterson Chocolate, 129 Second Street, Chocolate Sprinkles, Sí HW Smith and Co, 17 Boston Avenue, Ice Cream Cones, Sí 

Citas de archivo CSV

En el ejemplo anterior, nuestro código escribió la matriz proveedores en un nuevo archivo tal como apareció. & nbsp;

Sin embargo, puede haber ocasiones en las que desee que cada valor se escriba en un archivo entre comillas. Por ejemplo, puede tener una lista de proveedores donde algunos nombres de proveedores contienen comas, lo que daría como resultado nuestro CSV f ile se está volviendo mal formado.

El módulo CSV contiene cuatro funciones de comillas que se pueden usar para rodear los valores que se escribirán en su archivo entre comillas para que esto no suceda. Estas funciones se pasan como un argumento al método csv.writer () y son las siguientes:

  • csv.QUOTE_ALL : Surround cada cadena entre comillas
  • csv.QUOTE_NONNUMERIC : Cita todos los campos de cadena
  • csv.QUOTE_MINIMAL : Cita campos con caracteres especiales
  • csv.QUOTE_NONE : No cites ningún valor

Entonces, digamos que queremos citar cada valor en nuestro proveedores cuando se escribe en nuestro archivo. Podríamos usar el siguiente código:

 & hellip; write_to_file = csv.writer (f, quoting = csv.QUOTE_ALL) & hellip; 

Ahora, cuando ejecutamos nuestro programa, nuestro archivo new_suppliers.csv contiene lo siguiente :

 "Hendersons Creamery", "123 Main Street", "Cream", "Sí" "Peterson Chocolate "," 129 Second Street "," Chispas de chocolate "," Sí "" HW Smith and Co "," 17 Boston Avenue "," Conos de helado "," Sí "

Conclusión

Leer datos y escribir datos en archivos le permite recuperar y almacenar datos generados desde su programa Python. Por ejemplo, si tiene un menú de sabores y precios de helado que desea trabajar dentro de un programa de Python, es posible que desee almacenar los datos en un archivo.

En este tutorial, exploramos los conceptos básicos del módulo Python CSV y cómo funciona. También discutimos cómo leer y escribir archivos usando los objetos reader () y writer () .

Ahora estás listo para leer datos de ¡y escribe datos en archivos CSV usando Python como un profesional!

Empresas de todo el mundo están contratando personas que saben cómo codificar en Python. Descarga la aplicación gratuita Career Karma hoy mismo para obtener más información sobre cómo aprender Python podría ayudarlo a iniciar una carrera en tecnología.





python csv: StackOverflow Questions