Ich habe eine Liste wie folgt aus:Python 3.X Schreib Wörterbuch aus der Liste Datei
d = [{string1:float1,string2: float2},{string1:float3,string2:float4},...]
Ich habe versucht:
import json
with open("outputfile.txt","w") as f:
json.dump(d,f)
dann der gesamte Inhalt ist in einer Zeile wie:
[{string1:float1,string2: float2},{string1:float3,string2:float4},{string1:float5,string2:float6},...]
was ich will ist für jeden (Schlüssel: Ventil) startet eine Newline, wie
[{string1:float1,
string2:float2},
{string1:float3,
string2:float4},
...
endstring:endfloat}]
Wie kann ich das tun? oder ich kann einfach jedes "," zu ", \ n" ersetzen? Die Reihenfolge spielt keine große Rolle, aber wenn möglich, wird ein "sortiertes" Ergebnis geschätzt.
Ich habe versucht: 'für Artikel in d: \t json.dumps (Artikel, sort_keys = True, indent = 4, Abscheider = (‘ , '': ‚)) \t mit open ("output.txt", "w") als i: \t \t json.dump (item, i)' und es nicht ... noch in der funktioniert gleiche Linie – tikael
open ("output.txt", "w") überschreibt die selbe Zeile wiederholt, Sie müssen open ("output.txt", "a") zum Anhängen verwenden. –
Ich habe das gerade mit der Python-Shell getestet und habe folgendes erhalten: ''{\ n" 4 ": 5, \ n" 6 ": 7 \ n}'' Wie Sie sehen, hat json.dumps eine Zeichenfolge für mich erstellt , also müssen Sie nicht durch es oder irgendetwas, nur 'x = json.dumps (...) 'dann' file.write (x) 'oder Ähnliches durchschleifen. –