将json转换成Dataframe,Dataframe某一列是字典转成DataFrame

# !/usr/bin/env python 
# -*- coding: utf-8 -*-
# @Time    : 2020/7/11 11:48

import pandas as pd
import numpy as np
import json

pd.set_option('display.max_rows', 50, 'display.max_columns', 50, 'display.width', 10000)


def to_data(x):
    try:
        return (pd.Series(json.loads(x)['data']))
    except:
        return np.nan


def main():
    data = pd.read_csv('data.csv', sep='\t')

    data_temp = data.copy()
    data_temp = data_temp.drop(['name', 'cert_no'], axis=1)
    # 解析json
    data_temp['json'] = data_temp['response'].map(lambda x: list(json.loads(x).keys()))
    columns = data_temp['json'][1]
    for col in columns:
        data_temp[col] = data_temp['response'].map(lambda x: json.loads(x).get(col))
    # response 这一列是json格式,data节点是字典转Dataframe
    score_result = data_temp['response'].apply(to_data)


if __name__ == '__main__':
    main()

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值