Actualizar el valor de la columna de CSV en Python

Prerrequisitos: Pandas

En este artículo, analizaremos las formas en que se pueden actualizar los valores de una columna. La mejor y más óptima forma de actualizar cualquier valor de columna de un CSV es utilizar la biblioteca de Pandas y las funciones DataFrame.

Enlace para el archivo CSV en uso: haga clic aquí

Método 1

Acercarse

  • Módulo de importación
  • Abra el archivo CSV y lea sus datos
  • Buscar columna para actualizar
  • Actualice el valor en el archivo CSV usando la función to_csv()

El método to_csv() convierte el marco de datos en datos CSV a medida que la salida se devuelve al archivo, toma el objeto del archivo o el nombre del archivo como parámetro y se debe mencionar index=False para que los índices no se escriban en el CSV. expediente. Pero este método es muy tedioso y no es confiable cuando desea actualizar valores similares que ocurren varias veces. 

Detalles en el archivo antes de actualizar:

Ejemplo:

Python3

# importing the pandas library
import pandas as pd
  
# reading the csv file
df = pd.read_csv("AllDetails.csv")
  
# updating the column value/data
df.loc[5, 'Name'] = 'SHIV CHANDRA'
  
# writing into the file
df.to_csv("AllDetails.csv", index=False)
  
print(df)

Detalles después de la actualización:

Método 2: 

Acercarse

  • Módulo de importación
  • Abra el archivo csv y lea sus datos
  • Buscar columna para actualizar
  • Actualice el valor en el archivo csv usando la función replace()

El método replace() es útil cuando tenemos que actualizar los datos que se producen varias veces. Simplemente tenemos que especificar el nombre de la columna y pasar los valores como un diccionario al método replace() que tiene la forma de un par de clave y valor, la clave tendrá los datos anteriores de la columna y el valor tendrá la datos a actualizar. 

 Antes de actualizar los datos/valores de la columna:

Ejemplo:

Python3

# importing the pandas library
import pandas as pd
  
# reading the csv file
df = pd.read_csv("AllDetails.csv")
  
# updating the column value/data
df['Status'] = df['Status'].replace({'P': 'A'})
  
# writing into the file
df.to_csv("AllDetails.csv", index=False)
  
print(df)

Después de actualizar los datos/valores de la columna:

Método 3:

En este método, estamos empleando el módulo csv, que es un módulo dedicado creado centralmente para leer, escribir y actualizar archivos csv. 

Acercarse:

  • Módulo de importación
  • Leer datos como diccionario
  • Actualice los valores de columna requeridos almacenándolos como una lista de diccionario
  • Insertándolo de nuevo, fila por fila
  • Cerrando el archivo.

Archivo antes de la actualización:

Programa:

Python3

import csv
  
op = open("AllDetails.csv", "r")
dt = csv.DictReader(op)
print(dt)
up_dt = []
for r in dt:
    print(r)
    row = {'Sno': r['Sno'],
           'Registration Number': r['Registration Number'],
           'Name': r['Name'],
           'RollNo': r['RollNo'],
           'Status': 'P'}
    up_dt.append(row)
print(up_dt)
op.close()
op = open("AllDetails.csv", "w", newline='')
headers = ['Sno', 'Registration Number', 'Name', 'RollNo', 'Status']
data = csv.DictWriter(op, delimiter=',', fieldnames=headers)
data.writerow(dict((heads, heads) for heads in headers))
data.writerows(up_dt)
  
op.close()

Producción:

Publicación traducida automáticamente

Artículo escrito por adityaprasad1308 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 *