将获取的['json字段'] 转为csv 文件 - 数据转格式化处理
作者:互联网
用到的函数:
1、eval():
eval()函数常被称为评估函数,它的功能是去掉参数最外侧引号,变成python可执行的语句,并执行语句的函数。
2、isinstance():
isinstance() 函数来判断一个对象是否是一个已知的类型。
######################################################## #data_set['jsondata']中保存了下载的json数据,储存为str字段# #要把存储的str字段转为可读取的dataFrame文件 # ######################################################## import pandas as pd #载入下载的文件 data_set=pd.read_csv('文件路径+文件名',encoding='utf8') import re import json df_dics=[] #仅仅做中间结果输出检查 tott=0 error_tott=0 for i in range(0,len(data_set)): #根据re正则表达式匹配 "[XXX]"中的XXX 字段 res = re.findall(r'[[](.*?)[]]', data_set['jsondata'][i])[0] #使用try catch 避免因为小错误直接中断循环 try: res=eval(res) #将str解析为元组,元组里包含多个字典 #使用isinstance函数判断解析的结果是否成功 若为tuple说明解析成功 if isinstance(res,tuple): res=list(res) tott += 1 for j in res: dics = j print("_____________________") print(j) dics['brand']=data_set['brand'][i] df_dics.append(dics) except SyntaxError: error_tott+=1 print("exception") T=pd.DataFrame(df_dics) T.to_csv("csv文件名字",index=False,encoding='utf8')
标签:isinstance,set,res,字段,json,dics,tott,csv,data 来源: https://www.cnblogs.com/AKsnoopy/p/16638797.html