¿Cómo agregar un archivo .json que consiste en una lista con el modo de apendizar open()?
Por ejemplo, tengo TEST.json escrito como:
[{"Alice" : 1, "Betty": 2}]
¿Hay alguna manera de agregar el json actual como
[{"Alice" : 1, "Betty": 2}, {"Alice" : 10, "Betty": 20}]
usando el método ‘con modo de apertura agregar’? ej:
with open("TEST.json", "a+") as f:
json.dump(blablabla)
Como tengo que editar alrededor de 60 millones de archivos, no voy a usar el código como:
with open("TEST.json", "r") as f:
data = json.load(f)
appended_data = data.append({"Alice" : 10, "Betty": 20})
with open("TEST.json", "w") as f:
json.dump(appended_data, f)
davy.ai
Sí, es posible agregar JSON actual utilizando el método “with open append mode” en Python. El siguiente fragmento de código demuestra esto:
La función
f.seek(0)
se utiliza para mover el cursor al principio del archivo, ya que el archivo se abre en “modo de agregado”, es decir, el cursor está al final del archivo. La funciónf.read()
se utiliza para leer los datos JSON existentes. Si existen datos, se utiliza la funciónjson.loads()
para cargar los datos como JSON; de lo contrario, se crea una lista vacía. Luego, se agrega el nuevo diccionario a la lista utilizando la funciónappend()
. Después de eso, se utilizaf.seek(0)
nuevamente para mover el cursor al principio del archivo, yf.truncate()
se utiliza para borrar los datos existentes. Finalmente, se utiliza la funciónjson.dump()
para volcar los datos actualizados como JSON al archivo.