특정 폴더 안에 들어있는 모든 Json 파일의 데이터 값(filename)을
파일명으로 변환하는 작업
sth.json
{
"images": [
{
"filename": "sth_000001.json",
"width": 4032,
"height": 3024
}
],
"members": [
{
"age": [
17,
20,
30,
12,
7
],
"class": "pen"
}
]
}
jsonEdit.py
import json
import os
# r 파일읽기 (데이터->딕셔너리로 변환)
os.chdir('./변경전/brick')
file_names = os.listdir()
# 데이터변환
for file_path in file_names:
with open(file_path, 'r') as file:
data = json.load(file)
data["images"][0]["filename"] = file_path
# w 내보내기 (딕셔너리->Json 생성)
with open(file_path, 'w', encoding='utf-8') as file:
json.dump(data, file, indent="\t")
수정 후 jsonEdit.py
import json
import os
# 파이썬 파일 기준으로 디렉토리 변경
os.chdir('./변경전')
path = os.getcwd() # 작업중인 폴더 path
dir_list = os.listdir() # 폴더의 모든 파일 목록_list
# 폴더_리스트 순회
for dir in dir_list:
dir_path = path+'/'+ dir
os.chdir(dir_path)
file_list = os.listdir()
#파일_리스트 순회(개별파일)
for filename in file_list:
# r 파일읽기 (데이터->딕셔너리로 변환)
with open(filename, 'r') as file:
data = json.load(file)
data["images"][0]["filename"] = os.path.splitext(filename)[0] +'.jpg'
# w 내보내기 (딕셔너리->Json 생성)
with open(filename, 'w', encoding='utf-8') as file:
json.dump(data, file, indent="\t")