Supposons que vous ayez un fichier json comme celui-ci:
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"
}
Un script qui crée les répertoires suivants à partir de ce fichier.
 
Cela signifie que la hiérarchie est divisée par l'index de la clé et de la liste.
json2dir https://github.com/Kanahiro/json2dir
Il analyse récursivement le fichier json et renvoie une liste de répertoires à générer.
sample.py
import json2dir
jsondict = {
#jsondict est l'exemple mentionné ci-dessus.Lire json comme type dict
}
root_dir = 'api/sample'
os.makedirs(root_dir, exist_ok=True) #api/Créez un répertoire appelé sample
#Générer une liste de répertoires avec ce script
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/Générer un répertoire basé sur le répertoire sous l'exemple
for d in dirs:
    os.makedirs(d, exist_ok=True)
Le répertoire est créé.
Au fait, un paquet appelé json-to-dir est distribué par pip, mais il a (probablement) été écrit dans la série Python 2.x et ne fonctionnait pas correctement (donc je l'ai fait). S'il semble y avoir un besoin, j'aimerais en faire un package pip, mais comme j'ai pu répondre à mes besoins, je le reporte pour le moment.
Recommended Posts