/ / lese 2D-Array von String - Python, JSON

lese 2D-Array von String - Python, JSON

Ich habe Daten, die aussehen [["header","row"],["5","16"], ...] Wenn sie in einer Datei gespeichert sind, können sie leicht von gelesen werden

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

Es sollte möglich sein, sie einzulesen data geradlinig, aber irgendwie kann der Input-String nicht in Json umgewandelt werden data = json.loads(x) kehrt zurück ValueError: No JSON object could be decoded

Was vermisse ich?

Antworten:

0 für die Antwort № 1

Der Fehler ValueError sagt Ihnen, dass der JSON nicht gültig ist. Korrigieren Sie das JSON in der Datei oder in der Zeichenfolge und es wird ordnungsgemäß geladen.

Ihr Code wird korrekt in JSON-Daten aus einer Datei geladen, wenn input_data ist ein Dateiname.


json.load() vs json.loads()

Beide Funktionen werden json verarbeiten.

json.load() nimmt eine Datei wie ein Objekt.

json.loads() Nimmt ein String- oder Unicode-Objekt.


JSON-Datei:

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

Dieser Code liest den obigen JSON korrekt aus einer Datei:

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

Dies verarbeitet den in einer Zeichenfolge gespeicherten JSON:

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