Muszę napisać wyjścia do pliku JSON w Pythonie. Próbowałem tutaj niektórych odpowiedzi, aby napisać do pliku JSON, ale z jakiegoś powodu nie znajduję poprawnego formatu, potrzebuję danych zapisanych do pliku JSON.

Na co patrzę, to:

{
  {
  "Region": "BD",
  "name": "bdfe",
  "tyl": "cya",
  "ice": "messi",
  "fed": "bet",
   },
   {
  "Region": "Toron",
  "name": "Cana",
  "tyl": "cyab",
  "ice": "feed",
  "fed": "not",
   },
  ...

}

Jak mogę pisać w tym formacie w Pythonie?

Dziękuję Ci

1
Shad 21 luty 2019, 02:06

2 odpowiedzi

Najlepsza odpowiedź

Po pierwsze, twój "json" jest nie tak. Zakładam, że zewnętrzne wsporniki kręcone powinny być nawiasami kwadratowymi, a ty próbujesz zapisać listę. Zestawy nie są częścią formatu JSON. Zakładając Ta odpowiedź nie jest tym, czego chcesz, ponieważ wyjście nie jest sformatowane, możesz użyć Dokumentacja, aby sformatować plik jako potrzebny. Na przykład:

Python 3.7.0 (default, Nov 21 2018, 10:19:24) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.1.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import json                                                                                            

In [2]: obj = [{ 
   ...:   "Region": "BD", 
   ...:   "name": "bdfe", 
   ...:   "tyl": "cya", 
   ...:   "ice": "messi", 
   ...:   "fed": "bet", 
   ...:    }, 
   ...:    { 
   ...:   "Region": "Toron", 
   ...:   "name": "Cana", 
   ...:   "tyl": "cyab", 
   ...:   "ice": "feed", 
   ...:   "fed": "not", 
   ...:    }]                                                                                                  

In [3]: with open('data.json', 'w') as outfile: 
   ...:     json.dump(obj, outfile, indent=4) 
   ...:                                                                                                        

In [4]: !cat data.json                                                                                         
[
    {
        "Region": "BD",
        "name": "bdfe",
        "tyl": "cya",
        "ice": "messi",
        "fed": "bet"
    },
    {
        "Region": "Toron",
        "name": "Cana",
        "tyl": "cyab",
        "ice": "feed",
        "fed": "not"
    }
]
1
Paul Whipp 20 luty 2019, 23:19

Replikowanie tego kodu w Pythonie jest bardzo proste. Wszystko, co musisz zrobić, to przekonwertować to do słownika. Oto konwertowane wyjście:

import json


mydict = [{
"Region": "BD",
"name": "bdfe",
"tyl": "cya",
"ice": "messi",
"fed": "bet",
 },
 {
"Region": "Toron",
"name": "Cana",
"tyl": "cyab",
"ice": "feed",
"fed": "not",
 }]

with open('data.json', 'w') as out: 
    json.dump(mydict, out, indent = 2)

0
xilpex 20 luty 2019, 23:21