Python如何展平json_normalize之类的json文件

问题描述 投票:0回答:1

我正在尝试解析和展平以下文件,以查看嵌套内容,例如json_normalize的输出,就像在单独列上的每个嵌套对象一样。

json文件内容:

{"name":"Trace","fields":{"time":"2020-03-11 16:44:55.860"},"layers":[{"name":"EVENT","fields":{"recordLength":56,"recordType":4,"eventId":5240,"ZZ_RECEIVED":{"EVENT_PARAM_TIMESTAMP_HOUR":16,"EVENT_PARAM_TIMESTAMP_MINUTE":44,"EVENT_PARAM_TIMESTAMP_SECOND":55,"EVENT_PARAM_TIMESTAMP_MILLISEC":860,"EVENT_PARAM_SCANNER_ID":262144,"EVENT_PARAM_RBS_MODULE_ID":"EVENT_VALUE_MASTER_DU (0)","EVENT_PARAM_GLOBAL_XX_ID":1840928,"EVENT_PARAM_ZZAPID":264166,"EVENT_PARAM_VELIID":267794859,"EVENT_PARAM_GALI":"'00 82 F6 10 00 02 C8'H","EVENT_PARAM_RAC_UE_REF":271663231,"EVENT_PARAM_TRACE_RECORDING_SESSION_REFERENCE":"'00 11 65'H","EVENT_PARAM_MEASUREMENT_ID":1,"EVENT_PARAM_MEAS_REQUESTER":"EVENT_VALUE_TRAFFIC (0)","EVENT_PARAM_NEIGHBOR_CGI":"'00 82 F6 10 01 5C 00 C0'H","EVENT_PARAM_AFFECTED_MEAS_TYPE":"EVENT_VALUE_EVENT_A3 (2)","EVENT_PARAM_RAT_TYPE":"EVENT_VALUE_EUTRAN_INTRA_FREQUENCY (0)","EVENT_PARAM_MEAS_CAUSE":"EVENT_VALUE_NOT_APPLICABLE (2)","EVENT_PARAM_PADDING_2":"'00 00'H"}}}]} 
{"name":"Trace","fields":{"time":"2020-03-11 16:44:55.917"},"layers":[{"name":"EVENT","fields":{"recordLength":80,"recordType":4,"eventId":4097,YY_SETUP":{"EVENT_PARAM_TIMESTAMP_HOUR":16,"EVENT_PARAM_TIMESTAMP_MINUTE":44,"EVENT_PARAM_TIMESTAMP_SECOND":55,"EVENT_PARAM_TIMESTAMP_MILLISEC":917,"EVENT_PARAM_SCANNER_ID":262144,"EVENT_PARAM_RBS_MODULE_ID":"EVENT_VALUE_MASTER_DU (0)","EVENT_PARAM_GLOBAL_XX_ID":1840928,"EVENT_PARAM_ZZAPID":264209,"EVENT_PARAM_VELIID":2147483648,"EVENT_PARAM_GALI":"'00 00 F0 00 BB 00 B8'H","EVENT_PARAM_RAC_UE_REF":271753353,"EVENT_PARAM_TRACE_RECORDING_SESSION_REFERENCE":"'00 11 6F'H","EVENT_PARAM_INITIAL_UE_IDENTITY_TYPE":"EVENT_VALUE_S_TMSI (0)","EVENT_PARAM_INITIAL_UE_IDENTITY":"'00 B8 CA DD B6 21'H","EVENT_PARAM_RRC_ESTABL_CAUSE":"EVENT_VALUE_MT_ACCESS (2)","EVENT_PARAM_RRC_RESULT":"EVENT_VALUE_SUCCESS (0)","EVENT_PARAM_TIMESTAMP_START_HOUR":16,"EVENT_PARAM_TIMESTAMP_START_MINUTE":44,"EVENT_PARAM_TIMESTAMP_START_SECOND":55,"EVENT_PARAM_TIMESTAMP_START_MILLISEC":889,"EVENT_PARAM_TIMESTAMP_STOP_HOUR":16,"EVENT_PARAM_TIMESTAMP_STOP_MINUTE":44,"EVENT_PARAM_TIMESTAMP_STOP_SECOND":55,"EVENT_PARAM_TIMESTAMP_STOP_MILLISEC":917,"EVENT_PARAM_GALI_TYPE":"unavailable","EVENT_PARAM_ADM_CTRL_REJECTING_MSR_PREEMPTION_ATTEMPTED":"unavailable","EVENT_PARAM_ADM_CTRL_BLOCKING_ARP":"unavailable","EVENT_PARAM_MSR_UL_PRB_UTIL_CELL_STATE":"unavailable","EVENT_PARAM_MSR_UL_PRB_UTIL_BBM_STATE":"unavailable","EVENT_PARAM_MSR_DL_PRB_UTIL_CELL_STATE":"unavailable","EVENT_PARAM_MSR_DL_PRB_UTIL_BBM_STATE":"unavailable","EVENT_PARAM_MSR_UL_SE_UTIL_CELL_STATE":"unavailable","EVENT_PARAM_MSR_UL_SE_UTIL_BBM_STATE":"unavailable","EVENT_PARAM_MSR_DL_SE_UTIL_CELL_STATE":"unavailable","EVENT_PARAM_MSR_DL_SE_UTIL_BBM_STATE":"unavailable","EVENT_PARAM_MSR_CCE_UTIL_CELL_STATE":"unavailable","EVENT_PARAM_MSR_UL_BB_CAP_UTIL_BBM_STATE":"unavailable","EVENT_PARAM_MSR_DL_BB_CAP_UTIL_BBM_STATE":"unavailable","EVENT_PARAM_BANDWIDTH_REDUCED_ACCESS_CE_MODE":"EVENT_VALUE_NOT_APPLICABLE (0)","EVENT_PARAM_RRC_ESTABL_CAUSE_NB":"unavailable","EVENT_PARAM_BR_CE_LEVEL":"unavailable","EVENT_PARAM_PADDING_3":"'00 00 00'H"}}}]} 
{"name":"Trace","fields":{"time":"2020-03-11 16:44:55.934"},"layers":[{"name":"EVENT","fields":{"recordLength":60,"recordType":4,"eventId":4098,"XX_SETUP":{"EVENT_PARAM_TIMESTAMP_HOUR":16,"EVENT_PARAM_TIMESTAMP_MINUTE":44,"EVENT_PARAM_TIMESTAMP_SECOND":55,"EVENT_PARAM_TIMESTAMP_MILLISEC":934,"EVENT_PARAM_SCANNER_ID":262144,"EVENT_PARAM_RBS_MODULE_ID":"EVENT_VALUE_MASTER_DU (0)","EVENT_PARAM_GLOBAL_XX_ID":1840928,"EVENT_PARAM_ZZAPID":264209,"EVENT_PARAM_VELIID":134681544,"EVENT_PARAM_GALI":"'00 82 F6 10 00 02 B8'H","EVENT_PARAM_RAC_UE_REF":271753353,"EVENT_PARAM_TRACE_RECORDING_SESSION_REFERENCE":"'00 11 6F'H","EVENT_PARAM_RRC_ESTABL_CAUSE":"EVENT_VALUE_MT_ACCESS (2)","EVENT_PARAM_S1_SIG_CONN_RESULT":"EVENT_VALUE_SUCCESS (0)","EVENT_PARAM_TIMESTAMP_START_HOUR":16,"EVENT_PARAM_TIMESTAMP_START_MINUTE":44,"EVENT_PARAM_TIMESTAMP_START_SECOND":55,"EVENT_PARAM_TIMESTAMP_START_MILLISEC":917,"EVENT_PARAM_TIMESTAMP_STOP_HOUR":16,"EVENT_PARAM_TIMESTAMP_STOP_MINUTE":44,"EVENT_PARAM_TIMESTAMP_STOP_SECOND":55,"EVENT_PARAM_TIMESTAMP_STOP_MILLISEC":934,"EVENT_PARAM_BANDWIDTH_REDUCED_ACCESS_CE_MODE":"EVENT_VALUE_NOT_APPLICABLE (0)","EVENT_PARAM_S1_REROUTE_MME_TYPE":"unavailable","EVENT_PARAM_RRC_ESTABL_CAUSE_NB":"unavailable","EVENT_PARAM_BR_CE_LEVEL":"unavailable","EVENT_PARAM_PADDING_3":"'00 00 00'H"}}}]} 
{"name":"Trace","fields":{"time":"2020-03-11 16:44:55.935"},"layers":[{"name":"EVENT","fields":{"recordLength":92,"recordType":4,"eventId":5172,"XX_CAPABILITY":{"EVENT_PARAM_TIMESTAMP_HOUR":16,"EVENT_PARAM_TIMESTAMP_MINUTE":44,"EVENT_PARAM_TIMESTAMP_SECOND":55,"EVENT_PARAM_TIMESTAMP_MILLISEC":935,"EVENT_PARAM_SCANNER_ID":262144,"EVENT_PARAM_RBS_MODULE_ID":"EVENT_VALUE_MASTER_DU (0)","EVENT_PARAM_GLOBAL_XX_ID":1840928,"EVENT_PARAM_ZZAPID":264209,"EVENT_PARAM_VELIID":134681544,"EVENT_PARAM_GALI":"'00 82 F6 10 00 02 B8'H","EVENT_PARAM_RAC_UE_REF":271753353,"EVENT_PARAM_TRACE_RECORDING_SESSION_REFERENCE":"'00 11 6F'H","EVENT_PARAM_UE_CAP_CATEGORY":"EVENT_VALUE_UE_CATEGORY_4 (3)","EVENT_PARAM_UE_CAP_ASR":9,"EVENT_PARAM_UE_CAP_FGI_BITMAP":"'00 7F 0F FC 80'H","EVENT_PARAM_UE_CAP_FGI_BITMAP_FDD":"unavailable","EVENT_PARAM_UE_CAP_FGI_BITMAP_TDD":"unavailable","EVENT_PARAM_UE_CAP_FGI_BITMAP_2":"'00 80 00 00 00'H","EVENT_PARAM_UE_CAP_FGI_BITMAP_2_FDD":"unavailable","EVENT_PARAM_UE_CAP_FGI_BITMAP_2_TDD":"unavailable","EVENT_PARAM_UE_CAP_FGI_BITMAP_3":"unavailable","EVENT_PARAM_UE_CAP_FGI_BITMAP_3_FDD":"unavailable","EVENT_PARAM_UE_CAP_FGI_BITMAP_3_TDD":"unavailable","EVENT_PARAM_UE_CAPABILITY_ASR_MISMATCH":"unavailable","EVENT_PARAM_UE_CAP_GUTRAN_CAPABLE":"unavailable","EVENT_PARAM_FREQ_BAND_PRIO_CAPABLE":"unavailable","EVENT_PARAM_PADDING_1":"'00'H"}}}]}  

我的代码是:

jsonfilename='c:\\temp\\dec_lite.json'
data = []
with open(jsonfilename) as f:
    for line in f:
        data.append(json.loads(line))

df=pd.DataFrame()
df = pd.json_normalize(data)  

igot:

name    fields.time             layers
Trace   2020-03-11 16:44:55.860 [{'name': 'LTEEvent', 'fields': {'recordLength': 56, 'recordType': 4, 'eventId': 5240, 'INTERNAL_EVENT_UETR_MEASUREMENT_REPORT_RECEIVED': {'EVENT_PARAM_TIMESTAMP_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_MINUTE': 44, 'EVENT_PARAM_TIMESTAMP_SECOND': 55, 'EVENT_PARAM_TIMESTAMP_MILLISEC': 860, 'EVENT_PARAM_SCANNER_ID': 262144, 'EVENT_PARAM_RBS_MODULE_ID': 'EVENT_VALUE_MASTER_DU (0)', 'EVENT_PARAM_GLOBAL_CELL_ID': 1840928, 'EVENT_PARAM_ENBS1APID': 264166, 'EVENT_PARAM_MMES1APID': 267794859, 'EVENT_PARAM_GUMMEI': "'00 82 F6 10 00 02 C8'H", 'EVENT_PARAM_RAC_UE_REF': 271663231, 'EVENT_PARAM_TRACE_RECORDING_SESSION_REFERENCE': "'00 11 65'H", 'EVENT_PARAM_MEASUREMENT_ID': 1, 'EVENT_PARAM_MEAS_REQUESTER': 'EVENT_VALUE_TRAFFIC (0)', 'EVENT_PARAM_NEIGHBOR_CGI': "'00 82 F6 10 01 5C 00 C0'H", 'EVENT_PARAM_AFFECTED_MEAS_TYPE': 'EVENT_VALUE_EVENT_A3 (2)', 'EVENT_PARAM_RAT_TYPE': 'EVENT_VALUE_EUTRAN_INTRA_FREQUENCY (0)', 'EVENT_PARAM_MEAS_CAUSE': 'EVENT_VALUE_NOT_APPLICABLE (2)', 'EVENT_PARAM_PADDING_2': "'00 00'H"}}}]
Trace   2020-03-11 16:44:55.917 [{'name': 'LTEEvent', 'fields': {'recordLength': 80, 'recordType': 4, 'eventId': 4097, 'INTERNAL_PROC_RRC_CONN_SETUP': {'EVENT_PARAM_TIMESTAMP_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_MINUTE': 44, 'EVENT_PARAM_TIMESTAMP_SECOND': 55, 'EVENT_PARAM_TIMESTAMP_MILLISEC': 917, 'EVENT_PARAM_SCANNER_ID': 262144, 'EVENT_PARAM_RBS_MODULE_ID': 'EVENT_VALUE_MASTER_DU (0)', 'EVENT_PARAM_GLOBAL_CELL_ID': 1840928, 'EVENT_PARAM_ENBS1APID': 264209, 'EVENT_PARAM_MMES1APID': 2147483648, 'EVENT_PARAM_GUMMEI': "'00 00 F0 00 BB 00 B8'H", 'EVENT_PARAM_RAC_UE_REF': 271753353, 'EVENT_PARAM_TRACE_RECORDING_SESSION_REFERENCE': "'00 11 6F'H", 'EVENT_PARAM_INITIAL_UE_IDENTITY_TYPE': 'EVENT_VALUE_S_TMSI (0)', 'EVENT_PARAM_INITIAL_UE_IDENTITY': "'00 B8 CA DD B6 21'H", 'EVENT_PARAM_RRC_ESTABL_CAUSE': 'EVENT_VALUE_MT_ACCESS (2)', 'EVENT_PARAM_RRC_RESULT': 'EVENT_VALUE_SUCCESS (0)', 'EVENT_PARAM_TIMESTAMP_START_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_START_MINUTE': 44, 'EVENT_PARAM_TIMESTAMP_START_SECOND': 55, 'EVENT_PARAM_TIMESTAMP_START_MILLISEC': 889, 'EVENT_PARAM_TIMESTAMP_STOP_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_STOP_MINUTE': 44, 'EVENT_PARAM_TIMESTAMP_STOP_SECOND': 55, 'EVENT_PARAM_TIMESTAMP_STOP_MILLISEC': 917, 'EVENT_PARAM_GUMMEI_TYPE': 'unavailable', 'EVENT_PARAM_ADM_CTRL_REJECTING_MSR_PREEMPTION_ATTEMPTED': 'unavailable', 'EVENT_PARAM_ADM_CTRL_BLOCKING_ARP': 'unavailable', 'EVENT_PARAM_MSR_UL_PRB_UTIL_CELL_STATE': 'unavailable', 'EVENT_PARAM_MSR_UL_PRB_UTIL_BBM_STATE': 'unavailable', 'EVENT_PARAM_MSR_DL_PRB_UTIL_CELL_STATE': 'unavailable', 'EVENT_PARAM_MSR_DL_PRB_UTIL_BBM_STATE': 'unavailable', 'EVENT_PARAM_MSR_UL_SE_UTIL_CELL_STATE': 'unavailable', 'EVENT_PARAM_MSR_UL_SE_UTIL_BBM_STATE': 'unavailable', 'EVENT_PARAM_MSR_DL_SE_UTIL_CELL_STATE': 'unavailable', 'EVENT_PARAM_MSR_DL_SE_UTIL_BBM_STATE': 'unavailable', 'EVENT_PARAM_MSR_CCE_UTIL_CELL_STATE': 'unavailable', 'EVENT_PARAM_MSR_UL_BB_CAP_UTIL_BBM_STATE': 'unavailable', 'EVENT_PARAM_MSR_DL_BB_CAP_UTIL_BBM_STATE': 'unavailable', 'EVENT_PARAM_BANDWIDTH_REDUCED_ACCESS_CE_MODE': 'EVENT_VALUE_NOT_APPLICABLE (0)', 'EVENT_PARAM_RRC_ESTABL_CAUSE_NB': 'unavailable', 'EVENT_PARAM_BR_CE_LEVEL': 'unavailable', 'EVENT_PARAM_PADDING_3': "'00 00 00'H"}}}]
Trace   2020-03-11 16:44:55.934 [{'name': 'LTEEvent', 'fields': {'recordLength': 60, 'recordType': 4, 'eventId': 4098, 'INTERNAL_PROC_S1_SIG_CONN_SETUP': {'EVENT_PARAM_TIMESTAMP_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_MINUTE': 44, 'EVENT_PARAM_TIMESTAMP_SECOND': 55, 'EVENT_PARAM_TIMESTAMP_MILLISEC': 934, 'EVENT_PARAM_SCANNER_ID': 262144, 'EVENT_PARAM_RBS_MODULE_ID': 'EVENT_VALUE_MASTER_DU (0)', 'EVENT_PARAM_GLOBAL_CELL_ID': 1840928, 'EVENT_PARAM_ENBS1APID': 264209, 'EVENT_PARAM_MMES1APID': 134681544, 'EVENT_PARAM_GUMMEI': "'00 82 F6 10 00 02 B8'H", 'EVENT_PARAM_RAC_UE_REF': 271753353, 'EVENT_PARAM_TRACE_RECORDING_SESSION_REFERENCE': "'00 11 6F'H", 'EVENT_PARAM_RRC_ESTABL_CAUSE': 'EVENT_VALUE_MT_ACCESS (2)', 'EVENT_PARAM_S1_SIG_CONN_RESULT': 'EVENT_VALUE_SUCCESS (0)', 'EVENT_PARAM_TIMESTAMP_START_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_START_MINUTE': 44, 'EVENT_PARAM_TIMESTAMP_START_SECOND': 55, 'EVENT_PARAM_TIMESTAMP_START_MILLISEC': 917, 'EVENT_PARAM_TIMESTAMP_STOP_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_STOP_MINUTE': 44, 'EVENT_PARAM_TIMESTAMP_STOP_SECOND': 55, 'EVENT_PARAM_TIMESTAMP_STOP_MILLISEC': 934, 'EVENT_PARAM_BANDWIDTH_REDUCED_ACCESS_CE_MODE': 'EVENT_VALUE_NOT_APPLICABLE (0)', 'EVENT_PARAM_S1_REROUTE_MME_TYPE': 'unavailable', 'EVENT_PARAM_RRC_ESTABL_CAUSE_NB': 'unavailable', 'EVENT_PARAM_BR_CE_LEVEL': 'unavailable', 'EVENT_PARAM_PADDING_3': "'00 00 00'H"}}}]
Trace   2020-03-11 16:44:55.935 [{'name': 'LTEEvent', 'fields': {'recordLength': 92, 'recordType': 4, 'eventId': 5172, 'INTERNAL_EVENT_UE_CAPABILITY': {'EVENT_PARAM_TIMESTAMP_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_MINUTE': 44, 'EVENT_PARAM_TIMESTAMP_SECOND': 55, 'EVENT_PARAM_TIMESTAMP_MILLISEC': 935, 'EVENT_PARAM_SCANNER_ID': 262144, 'EVENT_PARAM_RBS_MODULE_ID': 'EVENT_VALUE_MASTER_DU (0)', 'EVENT_PARAM_GLOBAL_CELL_ID': 1840928, 'EVENT_PARAM_ENBS1APID': 264209, 'EVENT_PARAM_MMES1APID': 134681544, 'EVENT_PARAM_GUMMEI': "'00 82 F6 10 00 02 B8'H", 'EVENT_PARAM_RAC_UE_REF': 271753353, 'EVENT_PARAM_TRACE_RECORDING_SESSION_REFERENCE': "'00 11 6F'H", 'EVENT_PARAM_UE_CAP_CATEGORY': 'EVENT_VALUE_UE_CATEGORY_4 (3)', 'EVENT_PARAM_UE_CAP_ASR': 9, 'EVENT_PARAM_UE_CAP_FGI_BITMAP': "'00 7F 0F FC 80'H", 'EVENT_PARAM_UE_CAP_FGI_BITMAP_FDD': 'unavailable', 'EVENT_PARAM_UE_CAP_FGI_BITMAP_TDD': 'unavailable', 'EVENT_PARAM_UE_CAP_FGI_BITMAP_2': "'00 80 00 00 00'H", 'EVENT_PARAM_UE_CAP_FGI_BITMAP_2_FDD': 'unavailable', 'EVENT_PARAM_UE_CAP_FGI_BITMAP_2_TDD': 'unavailable', 'EVENT_PARAM_UE_CAP_FGI_BITMAP_3': 'unavailable', 'EVENT_PARAM_UE_CAP_FGI_BITMAP_3_FDD': 'unavailable', 'EVENT_PARAM_UE_CAP_FGI_BITMAP_3_TDD': 'unavailable', 'EVENT_PARAM_UE_CAPABILITY_ASR_MISMATCH': 'unavailable', 'EVENT_PARAM_UE_CAP_GUTRAN_CAPABLE': 'unavailable', 'EVENT_PARAM_FREQ_BAND_PRIO_CAPABLE': 'unavailable', 'EVENT_PARAM_PADDING_1': "'00'H"}}}]
Trace   2020-03-11 16:44:55.956 [{'name': 'LTEEvent', 'fields': {'recordLength': 128, 'recordType': 4, 'eventId': 4112, 'INTERNAL_PROC_HO_EXEC_X2_OUT': {'EVENT_PARAM_TIMESTAMP_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_MINUTE': 44, 'EVENT_PARAM_TIMESTAMP_SECOND': 55, 'EVENT_PARAM_TIMESTAMP_MILLISEC': 956, 'EVENT_PARAM_SCANNER_ID': 262144, 'EVENT_PARAM_RBS_MODULE_ID': 'EVENT_VALUE_MASTER_DU (0)', 'EVENT_PARAM_GLOBAL_CELL_ID': 1840928, 'EVENT_PARAM_ENBS1APID': 264166, 'EVENT_PARAM_MMES1APID': 267794859, 'EVENT_PARAM_GUMMEI': "'00 82 F6 10 00 02 C8'H", 'EVENT_PARAM_RAC_UE_REF': 271663231, 'EVENT_PARAM_TRACE_RECORDING_SESSION_REFERENCE': "'00 11 65'H", 'EVENT_PARAM_HO_SOURCE_OR_TARGET_TYPE': 'EVENT_VALUE_LTE_INTRA_FREQ (0)', 'EVENT_PARAM_HO_TARGET_SELECTION_TYPE': 'EVENT_VALUE_MEAS_BASED (1)', 'EVENT_PARAM_NEIGHBOR_CGI': "'00 82 F6 10 01 5C 00 C0'H", 'EVENT_PARAM_HO_PACKET_FORWARD': 'EVENT_VALUE_PACKET_FORWARD (0)', 'EVENT_PARAM_PROC_HO_EXEC_OUT_RESULT': 'EVENT_VALUE_SUCCESSFUL (0)', 'EVENT_PARAM_HO_TYPE': 'EVENT_VALUE_X2 (2)', 'EVENT_PARAM_DRX_CONFIG_INDEX': 'EVENT_VALUE_CONFIG_SHORT_AND_LONG (2)', 'EVENT_PARAM_HO_OUT_EXEC_ERAB_REQ_BITMAP': 'unavailable', 'EVENT_PARAM_HO_OUT_EXEC_ERAB_FAIL_BITMAP': 'unavailable', 'EVENT_PARAM_PROC_HO_EXEC_OUT_ATTEMPT_CAUSE': 'EVENT_VALUE_EVENT_A3_REPORTED_BY_UE (1)', 'EVENT_ARRAY_ERAB_HO_EXEC_OUT_QCI': ['unavailable', 'unavailable', 'unavailable', 'unavailable', 'unavailable', 8, 'unavailable', 'unavailable', 'unavailable', 'unavailable', 'unavailable', 'unavailable', 'unavailable', 'unavailable', 'unavailable', 'unavailable'], 'EVENT_PARAM_TIMESTAMP_START_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_START_MINUTE': 44, 'EVENT_PARAM_TIMESTAMP_START_SECOND': 55, 'EVENT_PARAM_TIMESTAMP_START_MILLISEC': 872, 'EVENT_PARAM_TIMESTAMP_STOP_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_STOP_MINUTE': 44, 'EVENT_PARAM_TIMESTAMP_STOP_SECOND': 55, 'EVENT_PARAM_TIMESTAMP_STOP_MILLISEC': 956, 'EVENT_PARAM_TA': 32, 'EVENT_PARAM_TRIGGER_QUANTITY': 'EVENT_VALUE_RSRQ (1)', 'EVENT_PARAM_TAC': 35258810, 'EVENT_PARAM_SVN': 1, 'EVENT_PARAM_MASKEDSRN': 61, 'EVENT_PARAM_HO_AFTER_RESYNC': 'EVENT_VALUE_NOT_AFTER_RESYNC (1)', 'EVENT_PARAM_HO_STICKY_EARFCN': 'EVENT_VALUE_NO_STICKY_EARFCN (0)', 'EVENT_PARAM_HO_OUT_EXEC_ERAB_REQ_BITMAP2': 32, 'EVENT_PARAM_HO_OUT_EXEC_ERAB_FAIL_BITMAP2': 0, 'EVENT_PARAM_UE_POWER_CLASS': 'EVENT_VALUE_POWER_CLASS_3 (2)', 'EVENT_PARAM_SUBSCRIBER_GROUP_ID': 'unavailable', 'EVENT_PARAM_UE_CATEGORY_FLEX': 'EVENT_VALUE_UE_CATEGORY_4_FLEX (5)', 'EVENT_PARAM_BR_CE_LEVEL': 'unavailable', 'EVENT_PARAM_PLMN_INDEX': 0, 'EVENT_PARAM_SPID_VALUE': 'unavailable', 'EVENT_PARAM_UE_ENDC_STAGE': 'unavailable', 'EVENT_PARAM_PADDING_1': "'00'H"}}}]
Trace   2020-03-11 16:59:59.995 [{'name': 'LTEEvent', 'fields': {'recordLength': 60, 'recordType': 4, 'eventId': 4098, 'INTERNAL_PROC_S1_SIG_CONN_SETUP': {'EVENT_PARAM_TIMESTAMP_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_MINUTE': 59, 'EVENT_PARAM_TIMESTAMP_SECOND': 59, 'EVENT_PARAM_TIMESTAMP_MILLISEC': 995, 'EVENT_PARAM_SCANNER_ID': 262144, 'EVENT_PARAM_RBS_MODULE_ID': 'EVENT_VALUE_MASTER_DU (0)', 'EVENT_PARAM_GLOBAL_CELL_ID': 1840918, 'EVENT_PARAM_ENBS1APID': 270630, 'EVENT_PARAM_MMES1APID': 70699315, 'EVENT_PARAM_GUMMEI': "'00 82 F6 10 00 02 A0'H", 'EVENT_PARAM_RAC_UE_REF': 192057500, 'EVENT_PARAM_TRACE_RECORDING_SESSION_REFERENCE': "'00 0B 7D'H", 'EVENT_PARAM_RRC_ESTABL_CAUSE': 'EVENT_VALUE_MO_DATA (4)', 'EVENT_PARAM_S1_SIG_CONN_RESULT': 'EVENT_VALUE_SUCCESS (0)', 'EVENT_PARAM_TIMESTAMP_START_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_START_MINUTE': 59, 'EVENT_PARAM_TIMESTAMP_START_SECOND': 59, 'EVENT_PARAM_TIMESTAMP_START_MILLISEC': 979, 'EVENT_PARAM_TIMESTAMP_STOP_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_STOP_MINUTE': 59, 'EVENT_PARAM_TIMESTAMP_STOP_SECOND': 59, 'EVENT_PARAM_TIMESTAMP_STOP_MILLISEC': 995, 'EVENT_PARAM_BANDWIDTH_REDUCED_ACCESS_CE_MODE': 'EVENT_VALUE_NOT_APPLICABLE (0)', 'EVENT_PARAM_S1_REROUTE_MME_TYPE': 'unavailable', 'EVENT_PARAM_RRC_ESTABL_CAUSE_NB': 'unavailable', 'EVENT_PARAM_BR_CE_LEVEL': 'unavailable', 'EVENT_PARAM_PADDING_3': "'00 00 00'H"}}}]
Trace   2020-03-11 16:59:59.996 [{'name': 'LTEEvent', 'fields': {'recordLength': 92, 'recordType': 4, 'eventId': 5172, 'INTERNAL_EVENT_UE_CAPABILITY': {'EVENT_PARAM_TIMESTAMP_HOUR': 16, 'EVENT_PARAM_TIMESTAMP_MINUTE': 59, 'EVENT_PARAM_TIMESTAMP_SECOND': 59, 'EVENT_PARAM_TIMESTAMP_MILLISEC': 996, 'EVENT_PARAM_SCANNER_ID': 262144, 'EVENT_PARAM_RBS_MODULE_ID': 'EVENT_VALUE_MASTER_DU (0)', 'EVENT_PARAM_GLOBAL_CELL_ID': 1840918, 'EVENT_PARAM_ENBS1APID': 270630, 'EVENT_PARAM_MMES1APID': 70699315, 'EVENT_PARAM_GUMMEI': "'00 82 F6 10 00 02 A0'H", 'EVENT_PARAM_RAC_UE_REF': 192057500, 'EVENT_PARAM_TRACE_RECORDING_SESSION_REFERENCE': "'00 0B 7D'H", 'EVENT_PARAM_UE_CAP_CATEGORY': 'EVENT_VALUE_UE_CATEGORY_6 (5)', 'EVENT_PARAM_UE_CAP_ASR': 10, 'EVENT_PARAM_UE_CAP_FGI_BITMAP': "'00 FF CF 1E BE'H", 'EVENT_PARAM_UE_CAP_FGI_BITMAP_FDD': 'unavailable', 'EVENT_PARAM_UE_CAP_FGI_BITMAP_TDD': 'unavailable', 'EVENT_PARAM_UE_CAP_FGI_BITMAP_2': "'00 00 00 00 00'H", 'EVENT_PARAM_UE_CAP_FGI_BITMAP_2_FDD': 'unavailable', 'EVENT_PARAM_UE_CAP_FGI_BITMAP_2_TDD': 'unavailable', 'EVENT_PARAM_UE_CAP_FGI_BITMAP_3': "'00 50 3C 00 00'H", 'EVENT_PARAM_UE_CAP_FGI_BITMAP_3_FDD': "'00 50 3C 00 00'H", 'EVENT_PARAM_UE_CAP_FGI_BITMAP_3_TDD': "'00 7F FC 00 00'H", 'EVENT_PARAM_UE_CAPABILITY_ASR_MISMATCH': 11, 'EVENT_PARAM_UE_CAP_GUTRAN_CAPABLE': 'unavailable', 'EVENT_PARAM_FREQ_BAND_PRIO_CAPABLE': 'unavailable', 'EVENT_PARAM_PADDING_1': "'00'H"}}}]

我如何像在单独列上的每个嵌套对象一样将内容像json_normalize的内容展平?:

ex:

name | fields.time | layers.name | layers.fields.recordLength |  etc..
python json flatten normalize
1个回答
0
投票

我终于设法做到了:

mydict={}
f=gzip.open(jsonfilename, 'rt', encoding='utf-8')
for line in f:
    mydict.append(json.loads(line))

df=pd.DataFrame()
df=pd.json_normalize(mydict,'layers','fields','zaman')
© www.soinside.com 2019 - 2024. All rights reserved.