如何将此json对象转换为pandas数据帧?

时间:2014-03-11 23:36:29

标签: python json pandas

我有一个csv文件,我变成了一个json,以便我可以把它变成一个熊猫数据框架。

这是我的代码,

def create_png():

    f = open('sticks.csv', 'r')
    reader = csv.DictReader( f, fieldnames = ("xstk", "stk") )
    out = json.dumps( [row for row in reader ] )
    print out

    df = DataFrame([
        #TODO
    ])

“打印输出”行打印出“[{”xstk“:”1“,”stk“:”0“},{”xstk“:”0“,”stk“:”1“},{ “xstk”:“1”,“stk”:“0”}]“

那么我可以在#TODO中添加什么来使代码运行并将其转换为简单的两列数据帧?我看过Create pandas dataframe from json objects,但这是一个复杂的例子。

1 个答案:

答案 0 :(得分:1)

只需将json的字符串直接读到read_json

In [11]: pd.read_json('[{"xstk": "1", "stk": "0"}, {"xstk": "0", "stk": "1"}, {"xstk": "1", "stk": "0"}]')
Out[11]:
   stk  xstk
0    0     1
1    1     0
2    0     1

但是,如果您已经拥有csv,那么您应该直接使用read_csv阅读它:

df = pd.read_csv('sticks.csv', names=["xstk", "stk"])