其他分享
首页 > 其他分享> > 将获取的['json字段'] 转为csv 文件 - 数据转格式化处理

将获取的['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