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