¿Cómo leer números en archivos CSV en Python?

Requisitos previos: lectura y escritura de datos en CSV , creación de archivos CSV 

CSV es un archivo de valores separados por comas, que permite guardar datos de texto sin formato en un formato tabular. Estos archivos se almacenan en nuestro sistema con una extensión .csv. Los archivos CSV se diferencian de otros tipos de archivos de hojas de cálculo (como Microsoft Excel) porque solo podemos tener una sola hoja en un archivo y no pueden guardar celdas, columnas o filas. Además, no podemos guardar fórmulas en este formato.

Para analizar archivos CSV en Python, hacemos uso de la biblioteca csv . La biblioteca CSV contiene objetos que se utilizan para leer, escribir y procesar datos desde y hacia archivos CSV. Veamos cómo podemos agregar números a nuestros archivos CSV usando la biblioteca csv.

Pasos para leer números en un archivo CSV:

  1. Cree un archivo python (ejemplo: gfg.py).
  2. Importe la biblioteca csv.
  3. Cree una lista anidada de ‘marcas’ que almacene los números de lista de los estudiantes y sus marcas en matemáticas y python en un formato tabular.
  4. Abra un nuevo archivo csv (o un archivo csv existente) en el modo ‘w’ del objeto escritor y otros parámetros necesarios (aquí delimitador y comillas).
  5. Escriba en él la lista de ‘marcas’ con la ayuda del método writerows.
  6. Para leer las filas, utilice el objeto lector y almacene cada fila (que también es una lista) en una nueva lista de ‘salida’.
  7. Imprima la salida de la lista para verificar el código.

Lectura de números en un archivo CSV sin comillas:

Para escribir en nuestro archivo CSV ‘my_csv’, hacemos uso del método writerows() del objeto escritor. Pero para leer los números tal como son, haremos uso de un parámetro opcional del objeto escritor, que es ‘quoting’ . El parámetro ‘citar’ le dice al escritor qué personaje se va a citar.

Si la cotización se establece en csv.QUOTE_NONNUMERIC , entonces .writerow() citará todos los campos que contienen datos de texto y convertirá todos los campos numéricos al tipo de datos flotantes.

Código:

Python3

import csv
 
# creating a nested list of roll numbers,
# subjects and marks scored by each roll number
marks = [
    ["RollNo", "Maths", "Python"],
    [1000, 80, 85],
    [2000, 85, 89],
    [3000, 82, 90],
    [4000, 83, 98],
    [5000, 82, 90]
]
 
# using the open method with 'w' mode
# for creating a new csv file 'my_csv' with .csv extension
with open('my_csv.csv', 'w', newline = '') as file:
    writer = csv.writer(file, quoting = csv.QUOTE_NONNUMERIC,
                        delimiter = ' ')
    writer.writerows(marks)
 
# opening the 'my_csv' file to read its contents
with open('my_csv.csv', newline = '') as file:
   
    reader = csv.reader(file, quoting = csv.QUOTE_NONNUMERIC,
                        delimiter = ' ')
     
    # storing all the rows in an output list
    output = []
    for row in reader:
        output.append(row[:])
 
for rows in output:
    print(rows)

Producción:

salida de gfg.py

Y así es como se ve en el archivo CSV ‘my_csv.csv’ que se crea una vez que ejecutamos el código anterior:

mi_csv.csv

Lectura de números en un archivo CSV con comillas:

Si las comillas se establecen en csv.QUOTE_ALL, .writerow() citará todos los campos y los números ahora se almacenarán entre comillas. Para leer los números de cada fila, usamos el objeto lector de la biblioteca CSV y almacenamos todas las filas dentro de una lista de ‘salida’, que también imprimiríamos después.

Código:

Python3

import csv
 
# creating a nested list of roll numbers,
# subjects and marks scored by each roll number
marks = [
    ["RollNo", "Maths", "Python"],
    [1000, 80, 85],
    [2000, 85, 89],
    [3000, 82, 90],
    [4000, 83, 98],
    [5000, 82, 90]
]
 
# using the open method with 'w' mode
# for creating a new csv file 'my_csv' with .csv extension
with open('my_csv.csv', 'w', newline = '') as file:
    writer = csv.writer(file, quoting = csv.QUOTE_ALL,
                        delimiter = ' ')
    writer.writerows(marks)
 
# opening the 'my_csv' file to read its contents
with open('my_csv.csv', newline = '') as file:
    reader = csv.reader(file,
                        quoting = csv.QUOTE_ALL,
                        delimiter = ' ')
     
    # storing all the rows in an output list
    output = []
    for row in reader:
        output.append(row[:])
 
for rows in output:
    print(rows)

 Producción:

salida de gfg.py

Y así es como la entrada anterior se almacena en el archivo ‘my_csv.csv’:

mi_csv.csv

Publicación traducida automáticamente

Artículo escrito por mprerna802 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *