如何从熊猫数据框的行中获取JSON对象数组(无键值)

时间:2019-12-10 12:18:17

标签: python json pandas

我有一个这样的熊猫数据框:

       t             o       h      l       c
0      155882223     1.21    1.4    1.1     1.3
1      155882321     1.35    1.7    1.13    1.6

我想创建一个不带key的JSON对象数组:数据帧行中的值对,输出应该是这样的:

print(json_array)
--> [{155882223, 1.21, 1.4, 1.1, 1.3}, {155882321, 1.35, 1.7, 1.13, 1.6}, ... ]

我尝试使用pandas.to_json():

data_json = json.loads(df.to_json(orient='values'))

但它返回了数组数组:

print(json_array)
--> [[155882223, 1.21, 1.4, 1.1, 1.3], [155882321, 1.35, 1.7, 1.13, 1.6], ... ]

我还尝试了同时使用iterrows和itertuples进行迭代,

for row in df.itertuples():
    row_data = {row.t, row.o, row.h, row.l, row.c}
    data_final.append(row_data)

但是结果很奇怪,因为许多json对象没有包含所有5个值(t,o,h,l,c) 有些只有3个值,而有些甚至只有6个值,而且顺序也都混杂了。

反正我可以获得我想要的数组吗? 预先感谢

0 个答案:

没有答案