/ / leer matriz 2D de cadena - python, json

leer matriz 2D de cadena - python, json

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 № 1

El 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))