Tengo datos, que parecen [["header","row"],["5","16"], ...]
En caso de que estén guardados en un archivo, pueden ser leídos fácilmente por
with open(input_data, "r") as f:
data = json.load(f)
Debería ser posible leerlos en data
de manera directa, pero de alguna manera la cadena de entrada no se puede convertir a json data = json.loads(x)
devoluciones ValueError: No JSON object could be decoded
¿Qué me estoy perdiendo?
Respuestas
0 para la respuesta № 1El error ValueError
Te dice que el JSON no es válido. Corrija el JSON en el archivo o la cadena y se cargará correctamente.
Su código se cargará correctamente en los datos JSON de un archivo si input_data
es un nombre de archivo.
json.load()
vs json.loads()
Ambas funciones procesarán json.
json.load()
Toma un archivo como objeto.
json.loads()
Toma una cadena o un objeto Unicode.
Archivo JSON:
[["header","row"],["5","16"]]
Este código leerá correctamente el JSON anterior de un archivo:
input_data = "json_file_name.json"
with open(input_data, "r") as f:
data = json.load(f)
print(data)
Esto procesará el JSON almacenado en una cadena:
json_string = "[["header","row"],["5","16"]]"
print(json.loads(json_string))