Ich habe eine Pipe-getrennte Datei Ich versuche, mit Python (2.7) in Json zu konvertieren. Der Code liest die Textdatei, konvertiert sie basierend auf dem Trennzeichen und konvertiert sie anschließend in json.Json Druckausgabe in Python anders als Schreibausgabe wegen Escapezeichen
Wenn ich den Code ausführen, ist die Ausgabe in meinem Terminalfenster korrekt. Wenn ich jedoch in eine Datei schreibe, werden die Escape-Schrägstriche \ zur Ausgabe hinzugefügt. An Anfang und Ende der Ausgabedatei werden Anführungszeichen ohne Escapes hinzugefügt.
Basierend auf anderen Antworten habe ich versucht, bei jedem Umgang mit dem JSON-Dump die Variable use_ascii auf false zu setzen. Aber das funktioniert nicht.
input.txt:
392|0|9
Code:
import csv
import json
f = open('input.txt', 'rU')
reader = csv.DictReader(f, fieldnames = ("A", "B", "C"), delimiter='|')
out = json.dumps([ row for row in reader ], ensure_ascii=False)
print out
with open('data.json', 'w') as outfile:
json.dump(out, outfile, ensure_ascii=False)
Ausgabe im Terminal:
[{"A": "392", "C": "9", "B": "0"}]
Ausgabe in data.json:
"[{\"A\": \"392\", \"C\": \"9\", \"B\": \"0\"}]"
Ich bin neu in Python. Was kann ich tun, um die Anführungszeichen (am Anfang und Ende) und die Schrägstriche aus der .json-Datei zu entfernen?
Vielen Dank. Das macht vollkommen Sinn. Ihre Änderungen haben das Problem behoben. – lucastimmons