Python을 사용하여 JSON 파일에 데이터 추가
- Python을 사용하여 JSON 파일에 데이터 추가
-
Python
목록
개체를 사용하여 데이터를 JSON 파일로 업데이트 -
Python
dict
개체를 사용하여 데이터를 JSON 파일로 업데이트
웹 애플리케이션에서 널리 사용되고 이해하기 쉽기 때문에 대부분의 웹 애플리케이션 및 Rest API에서 JSON 형식의 데이터를 사용자에게 제공합니다. 따라서 웹 애플리케이션에서 Python을 사용하는 경우 Python을 사용하여 JSON 파일에 데이터를 추가하는 데 관심이 있을 수 있습니다.
이 튜토리얼은 Python을 사용하여 JSON 파일에 데이터를 추가하는 가능한 방법을 교육합니다.
Python을 사용하여 JSON 파일에 데이터 추가
Python을 사용하여 직접 JSON 파일을 추가할 수는 없지만 덮어쓸 수는 있습니다. 그렇다면 JSON 파일에 데이터를 추가하는 방법은 무엇입니까?
이를 위해 아래 단계를 따라야 합니다.
-
Python
dict
또는list
개체에서 JSON 파일을 읽습니다. -
해당
dict
또는list
개체를 추가합니다. -
업데이트된
dict
또는list
개체를 원래 JSON 파일에 씁니다(여기서 이전 콘텐츠는 업데이트된 콘텐츠로 덮어쓰여집니다).
JSON 파일(data.json
)에는 이 기사의 다음 코드 예제에서 사용할 아래 데이터가 포함되어 있습니다.
JSON 파일 내용(data.json
파일에 저장됨):
{
"student_details":[
{
"student_first_name": "Mehvish",
"student_last_name": "Ashiq",
"student_email": "mehvish@gmail.com"
},
{
"student_first_name": "Tahir",
"student_last_name": "Raza",
"student_email": "tahir@yahoo.com"
}
]
}
Python 목록
개체를 사용하여 데이터를 JSON 파일로 업데이트
data.json
파일에 다음 학생을 추가한다고 가정합니다.
{
"student_first_name": "Aftab",
"student_last_name": "Raza",
"student_email": "Aftab@gmail.com"
}
따라서 다음 코드를 실행하여 이를 수행해 보겠습니다.
예제 코드(demo.py
에 저장됨):
import json
def write_json(new_student, filename="./data.json"):
with open(filename, "r+") as file:
file_content = json.load(file)
file_content["student_details"].append(new_student)
file.seek(0)
json.dump(file_content, file, indent=4)
new_student = {
"student_first_name": "Aftab",
"student_last_name": "Raza",
"student_email": "Aftab@gmail.com",
}
write_json(new_student)
먼저 JSON 파일 작업을 위해 json
모듈을 가져옵니다. 다음으로, 두 개의 매개 변수를 사용하는 write_json()
함수를 작성합니다. 추가하려는 학생 세부 정보가 있는 new_student
와 filename
(여기에서 파일 경로를 지정할 수도 있음)입니다.
이 함수 내에서 open()
메서드를 사용하여 지정된 파일을 읽기 모드로 엽니다. 그런 다음 json.loads()
를 사용하여 file_content
에서 JSON 문자열을 구문 분석(기존 데이터 로드)합니다.
다음으로, 목록 객체를 사용하여 .append()
를 사용하여 student_details
내부의 new_student
와 file_content
를 조인합니다. file.seek(0)
은 오프셋에서 파일의 현재 위치를 설정합니다.
마지막으로 .dump()
를 사용하여 다시 JSON으로 변환합니다.
이제 다음과 같이 python demo.py
를 사용하여 위의 코드를 실행합니다.
PS E:\Code> python demo.py
위 프로그램이 성공적으로 실행되면 data.json
파일을 덮어씁니다. 아래의 업데이트된 data.json
파일을 참조하십시오.
OUTPUT(data.json
의 파일 내용):
{
"student_details": [
{
"student_first_name": "Mehvish",
"student_last_name": "Ashiq",
"student_email": "mehvish@gmail.com"
},
{
"student_first_name": "Tahir",
"student_last_name": "Raza",
"student_email": "tahir@yahoo.com"
},
{
"student_first_name": "Aftab",
"student_last_name": "Raza",
"student_email": "Aftab@gmail.com"
}
]
}
Python dict
개체를 사용하여 데이터를 JSON 파일로 업데이트
이제 모든 학생에 대해 "section": "A"
속성을 하나 더 추가한다고 가정합니다. 다음과 같이 할 수 있습니다.
예제 코드(demo.py
파일에 저장됨):
import json
def write_json(section, filename="./data.json"):
with open(filename, "r+") as file:
file_content = json.load(file)
file_content.update(section)
file.seek(0)
json.dump(file_content, file, indent=4)
section = {"section": "A"}
write_json(section)
이 예제는 한 가지 차이점을 제외하고 list
개체를 사용하여 데이터를 JSON 파일로 업데이트한 마지막 예제와 유사합니다. 여기서는 dict
객체를 사용하여 다른 dict
객체 또는 반복 가능한 키-값 쌍의 요소로 dict
(사전)를 업데이트하는 .update()
메서드를 사용합니다.
python demo.py
명령을 사용하여 이 프로그래밍을 실행한 후 data.json
파일에 다음 내용이 있습니다.
OUTPUT(data.json
파일에 저장됨):
{
"student_details": [
{
"student_first_name": "Mehvish",
"student_last_name": "Ashiq",
"student_email": "mehvish@gmail.com"
},
{
"student_first_name": "Tahir",
"student_last_name": "Raza",
"student_email": "tahir@yahoo.com"
},
{
"student_first_name": "Aftab",
"student_last_name": "Raza",
"student_email": "Aftab@gmail.com"
}
],
"section": "A"
}