Python에서 Json 파일을 읽고 쓰는 방법

How Read Write Json Files Python



이 기사에서는 Python 프로그래밍 언어로 JSON 파일 및 데이터를 처리하는 방법을 설명합니다. Python에는 JSON 데이터를 쉽고 간단하게 처리할 수 있는 내장 json 모듈이 있습니다.

JSON 정보

JSON(JavaScript Object Notation)은 키-값 쌍을 사용하여 데이터를 저장하고 교환하는 파일 형식 및 데이터 저장 표준입니다. RESTful API, 경량 데이터베이스, 구성 파일 및 데이터를 저장, 검색 및 교환해야 하는 기타 오프라인 또는 온라인 소프트웨어에서 자주 볼 수 있는 가장 널리 사용되는 데이터 교환 형식입니다. 대부분의 프로그래밍 언어에는 기본적으로 JSON 데이터를 구문 분석하고 쓰는 라이브러리가 포함되어 있으며 JSON은 프로그래밍 언어에 구애받지 않는 데이터 형식입니다. JSON 파일 또는 페이로드에 저장된 값에는 일반적으로 문자열, 숫자 및 목록(배열)과 같은 직렬화 가능한 데이터 유형이 포함됩니다.







JSON 및 Python 사전

python의 JSON 데이터는 load 메소드를 사용하여 사전 객체로 변환됩니다. 어떤 사람들은 json 데이터와 파이썬 사전을 동일시하는 것을 종종 볼 수 있습니다. 둘 다 정의하는 구문이 거의 동일하기 때문입니다. 그러나 json 데이터는 엄격한 구문으로 구성된 텍스트 문자열일 뿐이며, 파이썬 사전은 메모리에 저장된 데이터 구조 객체입니다. 사전 데이터를 텍스트 파일에 저장하거나 파이썬이 아닌 다른 프로그램으로 보내려면 먼저 이를 텍스트 문자열(바이트)로 변환해야 합니다. 이 덤프/변환된 텍스트 문자열은 JSON의 표준 구문에 정의되어 있으며 파이썬 사전을 json 호환 문자열로 변환하는 과정을 직렬화(serialization)라고 합니다.



Python에서 JSON 데이터 읽기 및 덤프

JSON 데이터는 서버에서 응답으로 검색하고, 파일에서 읽고, URL 쿼리 매개변수에서 슬라이스하는 등의 작업을 수행할 수 있습니다. 이 기사는 주로 로컬에 저장된 파일에서 json 데이터를 읽는 데 중점을 둡니다. test.json 파일에 다음 데이터가 포함되어 있다고 가정해 보겠습니다.



{'코드명': 'Eoan Ermine', '버전': 'Ubuntu 19.10'}

Python에서 test.json 파일을 읽으려면 아래 코드를 사용할 수 있습니다.





수입json

~와 함께 열려있는 ('테스트.json') 같이NS:
데이터=json.json(NS)

덤프=json.json우울(데이터)

인쇄 (데이터)
인쇄 (유형(데이터))
인쇄 (덤프)
인쇄 (유형(덤프))

위 코드의 첫 번째 줄은 json 모듈을 가져옵니다. 다음 줄에서 with open은 파일 내용을 안전하게 읽는 데 사용됩니다. with open 블록 내에서 json.load 메서드를 사용하여 데이터 변수의 파일 내용을 읽고 저장합니다. 이전 단계에서 로드된 데이터는 json.dump 메서드를 사용하여 json 문자열로 다시 변환됩니다. 위의 코드를 실행하면 다음 출력이 표시됩니다.

{'코드 네임':'이안 어민', '버전':'우분투 19.10'}
<수업 '딕트'>
{'코드 네임':'이안 어민', '버전':'우분투 19.10'}
<수업 '스트'>

위의 출력에서 ​​json.load 메서드는 원시 json 데이터를 파이썬 사전으로 읽는 반면 json.dumps 메서드는 사전을 JSON 구조와 호환되는 문자열로 변환합니다. JSON 객체가 파이썬 사전 객체로 변환되면 내장 파이썬 사전 메서드를 사용하여 데이터를 처리할 수 있습니다. 위의 예는 매우 기본적이며 JSON 데이터 또는 중첩 값에 배열을 포함하지 않습니다. 그러나 파이썬 내에서 다른 중첩 사전 및 목록처럼 이러한 값을 처리할 수 있습니다.

JSON 데이터 정렬 및 예쁘게 인쇄하기

json.dump 메소드는 키 정렬을 위한 몇 가지 선택적 매개변수를 지원하고 가독성을 높이기 위해 출력물을 예쁘게 인쇄합니다.

수입json

~와 함께 열려있는 ('테스트.json') 같이NS:
데이터=json.json(NS)

덤프=json.json우울(데이터,정렬 키=진실,톱니 모양=4)
인쇄 (덤프)

위의 코드는 다음 출력을 보여줍니다.

{
'코드명': 'Eoan Ermine',
'버전': '우분투 19.10'
}

데이터 유형 변환

아래 목록은 JSON 값이 python 객체로 또는 그 반대로 변환되는 방법을 보여줍니다.

JSON 파이썬
NS
숫자 정수 또는 부동 소수점
허위 사실 허위 사실
없는 없음
정렬 목록
물체 딕셔너리

Json.tool 명령줄 모듈

Python에는 JSON 문자열과 파일의 유효성을 검사하고 예쁘게 인쇄하는 데 사용할 수 있는 멋진 명령줄 유틸리티 json.tool이 포함되어 있습니다.

$ 에코'{'코드명': 'Eoan Ermine', '버전': 'Ubuntu 19.10'}'| python3 -m json.도구

위의 명령을 실행하면 다음과 같은 출력이 표시됩니다.

{
'코드명': 'Eoan Ermine',
'버전': '우분투 19.10'
}

JSON 파일과 함께 json.tool을 사용할 수도 있습니다. 아래 명령에서 in_file 및 out_file을 원하는 값으로 바꿉니다.

$ python3 -m json.도구in_file out_file

JSON 데이터의 예쁜 인쇄, 정렬 및 유효성 검사 외에 json.tool은 다른 작업을 수행하지 않습니다. 따라서 JSON 데이터를 조작하려면 내장 JSON 모듈을 사용하여 사용자 정의 코드를 작성해야 합니다.