Pandas库----TCGA metadata.json处理

  为获取文件名和TCGA样本名之间的映射关系,需利用Python对TCGA metadata.json数据进行处理时,期间需要对metadata.json进行标准化;

1.JSON数据读取

 

1 import pandas as pd
2 
3 jsonPath = r"E:\IT Development\Data\metadata.cart.2021-11-27.json"
4 json = open(jsonPath).read()
5 
6 print(json,type(json))

 

 

 

 .........

 

 

 2.JSON数据标准化

  读取的json数据默认为字符串类型,json_normalize()要求输入的数据必须为json列表对象,因此可以通过eval()函数将字符串转化为字典元素,但程序运行中发现,metadata.json 存在null 和 true,不能完成转换,执行下述代码:

1 # 替换JSON数据中的null和true,尽量保证原意且不会报错
2 json = json.replace("null","None").replace('true','True')

 

  随后可对数据进行标准化:

1 data = pd.json_normalize(eval(json), record_path='associated_entities', meta=['file_name'])
2 data.to_excel('json.xlsx')

 

 

 

posted @ 2021-11-28 21:12  S_梦痕  阅读(422)  评论(0编辑  收藏  举报