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