본문 바로가기
Study

[Python] DataFrame -> Json 변환 옵션

by 즐거운개발 2022. 7. 28.

JSON(JavaScript Object Notation)은 JavaScript 객체 형식을 기반으로 구조화된 데이터를 표현하는 인코딩 기술이다.

서버와 웹 응용 프로그램 간의 데이터 공유에 널리 사용된다.

 

import pandas as pd

df = pd.DataFrame([['a',16,'aa'],
                   ['b',19,'bb'],
                   ['c',18,'cc']],
                  columns = ['Name','Age','Course'])

print(df)

 

출력:

 

   Name  Age Course
0   a    16    aa
1   b    19    bb
2   c    18    cc

 

 

 

to_json 메서드로 json 형태로 변환할 수 있으며, orient 옵션에 따라 형상이 달라진다.

 

import pandas as pd

df = pd.DataFrame([['a',16,'aa'],
                   ['b',19,'bb'],
                   ['v',18,'cc']],
                  columns = ['Name','Age','Course'])

js = df.to_json(orient = 'columns')

print(js)

 

 

1. orient = 'columns'

 

{"Name":{"0":"a","1":"b","2":"c"},
 "Age":{"0":16,"1":19,"2":18},
 "Course":{"0":"aa","1":"bb","2":"cc"}}

 

 

2. orient = 'records'

 

[{"Name":"a","Age":16,"Course":"aa"},{"Name":"b","Age":19,"Course":"bb"},{"Name":"c","Age":18,"Course":"cc"}]

 

 

3. orient = 'records'

 

{"0":{"Name":"a","Age":16,"Course":"aa"},
 "1":{"Name":"b","Age":19,"Course":"bb"},
 "2":{"Name":"c","Age":18,"Course":"cc"}}

 

 

4. orient = 'split'

 

{"columns":["Name","Age","Course"],
 "index":[0,1,2],
 "data":[["a",16,"aa"],["b",19,"bb"],["c",18,"cc"]]}

 

 

5. orient = 'table'

 

{"schema": {"fields":[{"name":"index","type":"integer"},{"name":"Name","type":"string"},{"name":"Age","type":"integer"},{"name":"Course","type":"string"}],"primaryKey":["index"],"pandas_version":"0.20.0"}, "data": [{"index":0,"Name":"a","Age":16,"Course":"aa"},{"index":1,"Name":"b","Age":19,"Course":"bb"},{"index":2,"Name":"c","Age":18,"Course":"cc"}]}

댓글