수색…


JSON 읽기

json 문자열을 전달하거나 유효한 json이있는 파일에 파일 경로를 전달할 수 있습니다.

In [99]: pd.read_json('[{"A": 1, "B": 2}, {"A": 3, "B": 4}]')
Out[99]:
   A  B
0  1  2
1  3  4

또는 메모리를 절약하기 위해 :

with open('test.json') as f:
    data = pd.DataFrame(json.loads(line) for line in f)

D3.js에 사용 된 flare.js 파일 에서처럼 중첩 된 JSON으로 데이터 프레임

def to_flare_json(df, filename):
    """Convert dataframe into nested JSON as in flare files used for D3.js"""
    flare = dict()
    d = {"name":"flare", "children": []}
    
    for index, row in df.iterrows():
        parent = row[0]
        child = row[1]
        child_size = row[2]

        # Make a list of keys
        key_list = []
        for item in d['children']:
            key_list.append(item['name'])

        #if 'parent' is NOT a key in flare.JSON, append it
        if not parent in key_list:
            d['children'].append({"name": parent, "children":[{"value": child_size, "name": child}]})
        # if parent IS a key in flare.json, add a new child to it
        else:
            d['children'][key_list.index(parent)]['children'].append({"value": child_size, "name": child})
    flare = d
    # export the final result to a json file
    with open(filename +'.json', 'w') as outfile:
        json.dump(flare, outfile, indent=4)
    return ("Done")

파일에서 JSON 읽기

file.json의 내용 (한 줄에 하나의 JSON 객체) :

{"A": 1, "B": 2}
{"A": 3, "B": 4}

로컬 파일에서 직접 읽는 방법 :

pd.read_json('file.json', lines=True)
# Output:
#    A  B
# 0  1  2
# 1  3  4


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow