Mam plik rozdzielany potokami Próbuję przekonwertować do json za pomocą Pythona (2.7). Kod odczytuje plik tekstowy, konwertuje go na podstawie ogranicznika, a następnie konwertuje go do json.Json wydrukuje dane wyjściowe w pythonie inne niż dane wyjściowe zapisu ze względu na znaki ze znakami escape
Po uruchomieniu kodu dane wyjściowe w oknie terminala są prawidłowe. Jednak gdy piszę do pliku, ukośniki ucieczki \ są dodawane do wyjścia. Do początku i końca pliku wyjściowego dodawane są znaki cudzysłowu bez znaków ucieczki.
Na podstawie innych odpowiedzi próbowałem ustawić sure_ascii na false za każdym razem, gdy zajmuję się zrzutem json. Ale to nie działa.
input.txt:
392|0|9
Kod:
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)
wyjścia w terminalu:
[{"A": "392", "C": "9", "B": "0"}]
Wyjście w data.json:
"[{\"A\": \"392\", \"C\": \"9\", \"B\": \"0\"}]"
Jestem nowy w Pythonie. Co mogę zrobić, aby usunąć znaki cudzysłowu (na początku i na końcu) i ukośniki z pliku .json?
Dziękuję. To ma sens. Twoje zmiany rozwiązały problem. – lucastimmons