N Dateien mit Wörterbücher-of-Listen-Datei, gespeichert als a.json
, b.json
...Speicher mehrere Wörterbücher-of-Listen aus mehreren Dateien zu einem Wörterbuch, dann schreiben
{
"ELEC.GEN.OOG-AK-99.A": [
["2013", null],
["2012", 2.65844],
["2011", 2.7383]
],
"ELEC.GEN.AOR-AK-99.A": [
["2015", 217.30239],
["2014", 214.46868],
["2013", 197.32097]
],
"ELEC.GEN.HYC-AK-99.A": [
["2015", 1542.29841],
["2014", 1538.738],
["2013", 1345.665]
]}
Ich bin unklar, wie sie alle zu einem großen Wörterbuch/jSON-Datei zu speichern, wie so:
{
"a":
{
"ELEC.GEN.OOG-AK-99.A": [
["2013", null],
["2012", 2.65844],
["2011", 2.7383]
],
"ELEC.GEN.AOR-AK-99.A": [
["2015", 217.30239],
["2014", 214.46868],
["2013", 197.32097]
],
"ELEC.GEN.HYC-AK-99.A": [
["2015", 1542.29841],
["2014", 1538.738],
["2001", 1345.665]
]},
"b": {...},
...
}
Diese Daten sind ich gefordert, dass in einer Javascript-Grafik verwendet werden, und es ist theoretisch möglich, Vorprozess es noch beim Streamen der angeforderte Daten von seiner Quelle, sowie möglicherweise möglich t o Umgehen Sie die Tatsache, dass es so viele Datendateien gibt, die ich anfordern muss, damit mein Graph funktioniert, aber beide Optionen scheinen sehr schwierig zu sein.
Ich verstehe nicht den besten Weg, json-das-ist-gemeint-für-Javascript in Python zu analysieren.
==== ich versucht habe:
from collections import defaultdict
# load into memory
data = defaultdict(dict)
filelist = ["a.json", "b.json", ...]
for fn in filelist:
with open(fn, 'rb') as f:
# this brings up TypeError
data[fn] = json.loads(f)
# write
out = "out.json"
with open(out, 'wb') as f:
json.dump(data, f)
=== Für json.loads()
bekomme ich TypeError: expected string or buffer
. Für json.load()
funktioniert es!
Sie müssen einige * * Code Sie dies getan haben, um zu versuchen. Was hast du bis jetzt gemacht? Kannst du deinen Code zeigen? Erkläre, welche Schwierigkeiten du hast. A [mcve] würde dir hier wirklich helfen. – idjaw
'new_dict = {'a': altes_Dikt, ...}', dann vielleicht 'json_data = json.dumps (neues_Dikt)', und dann das in eine Datei speichern? – bozdoz
@bozdoz, das alte_Dikt (mehrere) sind in anderen Dateien geschrieben, und das JSON-Modul will es nicht lesen: "TypeError: ist nicht JSON serializable", oder "TypeError: erwartete Zeichenfolge oder Puffer" – ehacinom