• 【数据处理】dataframe转换成JSON;JSON转换成dataframe;python、pandas库如何进行转换


    一、json 格式转为 dataframe

    from pandas.io.json import json_normalize
    import pandas as pd
    import json
    
    • 1
    • 2
    • 3

    1. 方法一:

    data_str = open('movies.json').read()
    df = pd.read_json(data_str,orient = 'records')
    
    • 1
    • 2

    2. 方法二:

    data_str = open('movies.json').read()
    data_list = json.loads(data_str)
    df_1 = json_normalize(data_list)
    
    • 1
    • 2
    • 3

    3. 方法三:

    data_str = open('movies.json').read()
    data_list = json.loads(data_str)
    # d['title']中的'title'是json格式文件里面的名称
    data = [[d['title'],d['score'],d['quote'],d['comment_num']] for d in data_list]
    df_2 = pd.DataFrame(data,columns = ['title','score','quote','comment_num'])
    
    • 1
    • 2
    • 3
    • 4
    • 5

    二、DataFrame 转 json

    import pandas as pd
    from pandas import DataFrame as df
    
    data = df([['a', 'b'], ['c', 'd']], index=['row 1', 'row 2'], columns=['col 1', 'col 2'])
    
    • 1
    • 2
    • 3
    • 4

    1. 方法一:

    json_columns = data.to_json(orient = "columns")  
    
    • 1

    返回结果: ‘{“col 1”:{“row 1”:“a”,“row 2”:“c”},“col 2”:{“row 1”:“b”,“row 2”:“d”}}’

    json_split = data.to_json(orient = "split")   
    
    • 1

    返回结果: ‘{“columns”:[“col 1”,“col 2”],“index”:[“row 1”,“row 2”],“data”:[[“a”,“b”],[“c”,“d”]]}’

    json_records = data.to_json(orient = "records")  
    
    • 1

    返回结果: ‘[{“col 1”:“a”,“col 2”:“b”},{“col 1”:“c”,“col 2”:“d”}]’

    json_index = data.to_json(orient = "index")  
    
    • 1

    返回结果:‘{“row 1”:{“col 1”:“a”,“col 2”:“b”},“row 2”:{“col 1”:“c”,“col 2”:“d”}}’

    json_values = data.to_json(orient = "values")  
    
    • 1

    返回结果: ‘[[“a”,“b”],[“c”,“d”]]’

    2. 方法二:

    json_dict = data.to_dict(orient = "dict")  
    
    • 1

    返回结果: {‘col 1’: {‘row 1’: ‘a’, ‘row 2’: ‘c’}, ‘col 2’: {‘row 1’: ‘b’, ‘row 2’: ‘d’}}

    json_list = data.to_dict(orient = "list")  
    
    • 1

    返回结果: {‘col 1’: [‘a’, ‘c’], ‘col 2’: [‘b’, ‘d’]}

    json_series = data.to_dict(orient = "series")  
    
    • 1

    返回结果: {‘col 1’: row 1 a row 2 c Name: col 1, dtype: object, ‘col 2’: row 1 b row 2 d Name: col 2, dtype: object}

    json_split = data.to_dict(orient = "split")  
    
    • 1

    返回结果: {‘index’: [‘row 1’, ‘row 2’], ‘columns’: [‘col 1’, ‘col 2’], ‘data’: [[‘a’, ‘b’], [‘c’, ‘d’]]}

    json_records = data.to_dict(orient = "records")  
    
    • 1

    返回结果: [{‘col 1’: ‘a’, ‘col 2’: ‘b’}, {‘col 1’: ‘c’, ‘col 2’: ‘d’}]

    json_index = data.to_dict(orient = "index")  
    
    • 1

    返回结果:{‘row 1’: {‘col 1’: ‘a’, ‘col 2’: ‘b’}, ‘row 2’: {‘col 1’: ‘c’, ‘col 2’: ‘d’}}

    三、输出Json文件

    如果要输出JSON文件

    将上述得出的字典进行编码 json.dumps() 转化成 json 形式即可:

    json.dumps(json_dict)
    
    • 1
  • 相关阅读:
    tensorboard玩耍手册
    Mac安装CocoaPods
    关于队里面最菜的在博客打卡第六十二天这件事
    seata环境的安装
    MySQL的安装
    OPTEE的系统调用
    LeetCode 0775. 全局倒置与局部倒置
    Qt跨平台(统信UOS)各种坑解决办法
    Java 面试全解析:核心知识点与典型面试题
    【bash工具】jq遍历list
  • 原文地址:https://blog.csdn.net/weixin_39589455/article/details/126467395