прочетете 2D масив от низ - python, json

Имам данни, които приличат [["header","row"],["5","16"], ...] В случай, че са запазени във файл, те могат лесно да бъдат прочетени

with open(input_data, "r") as f:
data = json.load(f)

Трябва да е възможно да ги прочетете data но по някакъв начин входният низ не може да бъде преобразуван в json data = json.loads(x) се завръща ValueError: No JSON object could be decoded

Какво ми липсва?

Отговори:

0 за отговор № 1

Грешката ValueError ви казва, че JSON не е валиден. Коригирайте JSON във файла или низа и той ще се зареди правилно.

Кодът ви ще зареди правилно данните JSON от даден файл, ако input_data е името на файла.


json.load() срещу json.loads()

И двете функции ще обработят json.

json.load() отнема файл като обект.

json.loads() взема низ или обект unicode.


JSON файл:

[["header","row"],["5","16"]]

Този код правилно ще прочете горния JSON от файл:

input_data = "json_file_name.json"
with open(input_data, "r") as f:
data = json.load(f)
print(data)

Това ще обработва JSON, съхраняван в низ:

json_string = "[["header","row"],["5","16"]]"
print(json.loads(json_string))