Angenommen, Sie haben eine JSON-Datei wie diese:
sample.json
{
"data": [
{
"no": "1",
"date": "2020-01-28T00:00",
"place": "japan",
"age": "22",
"sex": "female"
},
{
"no": "2",
"date": "2020-02-14T00:00",
"place": "australia",
"age": "50",
"sex": "male"
}
],
"last_update": "2020-03-14T23:14:01.849130+09:00"
}
Ein Skript, das die folgenden Verzeichnisse aus dieser Datei erstellt.
Dies bedeutet, dass die Hierarchie durch den Index von Schlüssel und Liste geteilt wird.
json2dir https://github.com/Kanahiro/json2dir
Es analysiert rekursiv die JSON-Datei und gibt eine Liste der zu generierenden Verzeichnisse zurück.
sample.py
import json2dir
jsondict = {
#jsondict ist das oben erwähnte Beispiel.Lesen Sie json als Diktattyp
}
root_dir = 'api/sample'
os.makedirs(root_dir, exist_ok=True) #api/Erstellen Sie ein Verzeichnis namens sample
#Generieren Sie mit diesem Skript eine Verzeichnisliste
dirs = json2dir.dir_list_of(jsondict, root_dir)
'''
dir = ['api/sample/data', 'api/sample/data/0', 'api/sample/data/0/no', 'api/sample/data/0/date',
'api/sample/data/0/place', 'api/sample/data/0/age', 'api/sample/data/0/sex', 'api/sample/data/1',
'api/sample/data/1/no', 'api/sample/data/1/date', 'api/sample/data/1/place', 'api/sample/data/1/age',
'api/sample/data/1/sex', 'api/sample/last_update']
'''
#api/Generieren Sie ein Verzeichnis basierend auf dir unter sample
for d in dirs:
os.makedirs(d, exist_ok=True)
Das Verzeichnis wird erstellt.
Übrigens wird ein Paket namens json-to-dir von pip verteilt, aber (wahrscheinlich) wurde es in der Python 2.x-Serie geschrieben und funktionierte nicht richtig (also habe ich es gemacht). Wenn es nötig zu sein scheint, würde ich es gerne zu einem Pip-Paket machen, aber da ich meine Bedürfnisse erfüllen konnte, schiebe ich es vorerst auf.
Recommended Posts