标签:isinstance set res 字段 json dics tott csv data
用到的函数:
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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。