如何将这个json对象转换为pandas数据框?

1 投票
1 回答
1581 浏览
提问于 2025-04-17 21:51

我有一个csv文件,我把它转换成json格式,这样就可以把它变成一个pandas数据框。

这是我的代码,

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
    ])

这行'print out'的输出是"[{"xstk": "1", "stk": "0"}, {"xstk": "0", "stk": "1"}, {"xstk": "1", "stk": "0"}]"。

那么我在#TODO里可以写什么,让代码运行并把这个转换成一个简单的两列数据框呢?我看过如何从json对象创建pandas数据框,但那个例子有点复杂。

相关问题:

1 个回答

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"])

撰写回答