Python将str强制转化为dict,完成json格式数据转存为Excel

Posted 数据分析师手记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python将str强制转化为dict,完成json格式数据转存为Excel相关的知识,希望对你有一定的参考价值。

有些程序的结果经常是以json格式保存的,若需要进行数据分析,还是把数据放进DataFrame比较方便。 
比如我们拿到一个Txt文档,里面写满了一行行这样的数据:

分析以上数据,可知:

  • 数据存储在Txt文件中,本质是字符串str

  • 该字符串展示形式,形似dict类型

因此,思考采用什么方法可以将Str直接强制转化为dict类型?

经查资料,知eval()方法可以直接将str转化为dict

  • pandas可以将dataframe直接写入到Excel文件中

  • dataframe可以将结构统一的Dict追加到数据框新的一行


所以,我们可以通过以下代码实现数据格式的转换:


import pandas as pd


txt = pd.read_table('c:/Users/ami/Documents/WeChat Files/helloMe/Files/mq(3).txt',encoding='utf-8',header=None)


new = pd.DataFrame({},index=[0])

result = new


for key,value in txt[0].items():

    new = eval(value)    

    result = result.append(new, ignore_index=True)


result.to_excel('c:/Users/ami/Desktop/result20180408.xlsx')

print('done!')


有几个注意点需要强调一下:

  1. pandas读入txt文件,使用read_table()方法

  2. read_table()方法,可以通过encoding参数来设置编码方式,设置encoding=’utf-8’,你就不会看到乱码

  3. read_table()方法,可以通过header参数来设置是否有表头

  4. dataframe的append()方法,可以通过ignore_index参数来设置行索引



以上是关于Python将str强制转化为dict,完成json格式数据转存为Excel的主要内容,如果未能解决你的问题,请参考以下文章

Python类型可以转为JSON的number类型

python中字符类型是不是可以强制转化为bool类型

python爬虫的一个问题,json.loads()不式转化字符串为dict类型吗?

字符串转化为字典,eval的简介

python 中怎么把,list,字典dict转换为字符串

在PHP中如何强制转化成字符串