json 파일에서 디렉토리를 생성하는 스크립트

5178 단어 JSON파이썬

소개



다음과 같은 json 파일이 있다고 가정합니다.

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"
}

이 파일로부터 다음과 같은 디렉토리를 생성하는 스크립트입니다.



key와 list의 index로 계층구조라고 하는 것입니다.

json2dir



json 파일을 재귀적으로 구문 분석하여 생성해야 하는 디렉토리 목록을 반환합니다.

sample.py
import json2dir

jsondict = {
#jsondictは前述のsample.jsonをdict型として読み込む
}

root_dir = 'api/sample'
os.makedirs(root_dir, exist_ok=True) #api/sampleというディレクトリを生成

#本スクリプトによりディレクトリ一覧を生成
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/sample以下に、dirに基づきディレクトリを生成
for d in dirs:
    os.makedirs(d, exist_ok=True)

이상으로 디렉토리가 생성됩니다.

끝에



덧붙여서 pip로 json-to-dir라는 패키지가 배포되고 있습니다만, (아마) Python2.x계로 쓰여져 제대로 움직이지 않았습니다(그래서 만들었습니다).
필요가 있다면 pip 패키지로 하고 싶다고 생각합니다만, 자신의 필요성은 채웠으므로 우선 후회하고 있습니다.

좋은 웹페이지 즐겨찾기