read - pandas python tutorial español pdf
Python lee el archivo JSON y modifica (2)
Hola, estoy intentando tomar los datos de un archivo json e insertar e id y luego realizar POST REST. mi archivo data.json tiene:
{
''name'':''myname''
}
y me gustaría agregar una identificación para que los datos de json se vean como:
{
''id'': 134,
''name'': ''myname''
}
Así que intenté:
import json
f = open("data.json","r")
data = f.read()
jsonObj = json.loads(data)
No puedo cargar el archivo de formato json. ¿Qué debo hacer para poder convertir el archivo json en el objeto json y agregar otro valor de id.
Establecer elemento utilizando data[''id''] = ...
import json
with open(''data.json'', ''r+'') as f:
data = json.load(f)
data[''id''] = 134 # <--- add `id` value.
f.seek(0) # <--- should reset file position to the beginning.
json.dump(data, f, indent=4)
f.truncate() # remove remaining part
La solución de falsetru es buena, pero tiene un pequeño error:
Supongamos que la longitud del ''id'' original era mayor que 5 caracteres. Cuando luego volcamos con el nuevo ''id'' (134 con solo 3 caracteres), la longitud de la cadena que se escribe desde la posición 0 en el archivo es más corta que la longitud original. Los caracteres adicionales (como ''}'') se guardan en el archivo del contenido original.
Resolví eso reemplazando el archivo original.
import json
import os
filename = ''data.json''
with open(filename, ''r'') as f:
data = json.load(f)
data[''id''] = 134 # <--- add `id` value.
os.remove(filename)
with open(filename, ''w'') as f:
json.dump(data, f, indent=4)