将带有dicts列表的字符串转换为pandas df

时间:2016-06-23 21:40:03

标签: python pandas

我正在从一个文件中读取一个字符串,如下所示:

"[{key1:val1,key2:val2},{key1:val1,key2:val2}.....}]"

如何将此字符串转换为pandas数据帧,并将key1和key2作为两列?

我可以想到字符串操作,比如先删除' ['和']'字符然后拆分'},{' ,追加'}'每个项目都会给我一个"{key1:value1,key2:value2}"字符串列表,然后对列表中的每个项目执行操作。

但这会有点麻烦。我想知道是否有更清洁的方法来做到这一点。

1 个答案:

答案 0 :(得分:1)

试试这个:

In [73]: pd.DataFrame.from_dict([{'key1':'val1','key2':'val2'},{'key1':'val1','key2':'val2'}])
Out[73]:
   key1  key2
0  val1  val2
1  val1  val2

或来自JSON字符串:

import json

In [81]: s
Out[81]: '[{"key1":"val1","key2":"val2"},{"key1":"val1","key2":"val2"}]'

In [82]: pd.DataFrame.from_dict(json.loads(s))
Out[82]:
   key1  key2
0  val1  val2
1  val1  val2