Python 从API查询列表对象并将其返回到dataframe-格式问题

Python 从API查询列表对象并将其返回到dataframe-格式问题,python,pandas,list,dataframe,append,Python,Pandas,List,Dataframe,Append,我有下面的脚本,它按照(I)的每个引号以列表格式返回数据。我设置了一个空列表,然后使用API函数get_kline_data进行查询,并使用.extend函数将每个输出传递到我的kline_列表中 klines\u list=[] a=[“REQ-ETH”、“REQ-BTC”、“XLM-BTC”] 对于我来说,在一个: klines=client.get_kline_数据(i'5min',1619317366,1619317606) klines\u list.extend([i,klines]

我有下面的脚本,它按照(I)的每个引号以列表格式返回数据。我设置了一个空列表,然后使用API函数get_kline_data进行查询,并使用.extend函数将每个输出传递到我的kline_列表中

klines\u list=[]
a=[“REQ-ETH”、“REQ-BTC”、“XLM-BTC”]
对于我来说,在一个:
klines=client.get_kline_数据(i'5min',1619317366,1619317606)
klines\u list.extend([i,klines])
克莱斯大学名单
klines_列表然后以这种格式返回数据

['REQ-ETH',
[['1619317500',
'0.0000491',
'0.0000491',
'0.0000491',
'0.0000491',
'5.1147',
'0.00025113177']],
“REQ-BTC”,
[['1619317500',
'0.00000219',
'0.00000219',
'0.00000219',
'0.00000219',
'19.8044',
'0.000043371636']],
“XLM-BTC”,
[['1619317500',
'0.00000863',
'0.00000861',
'0.00000863',
'0.00000861',
'653.5693',
'0.005629652673']]]
然后我尝试将其转换为数据帧

将熊猫作为py导入
df=py.DataFrame(klines\u列表)
这就是结果

0
0要求ETH
1   [[1619317500, 0.0000491, 0.0000491, 0.0000491,...
2 REQ-BTC
3   [[1619317500, 0.00000219, 0.00000219, 0.000002...
4 XLM-BTC
5   [[1619317500, 0.00000863, 0.00000861, 0.000008..
DF的结构不正确,这似乎是由于我将列表放在一起的方式造成的

我希望定量数据列对应于列表a中的正确条目,而不是行。此外,股票代码数据或列表a(“REQ-ETH/REQ-BTC”)等应在单独的列中。有什么好的方法可以进行重组? 编辑:@Ynjxsjmh 这是按照下面的建议在for循环中添加字典时的输出

REQ-ETH REQ-BTC XLM-BTC
0[1619317500,0.0000491,0.0000491,0.0000491,…楠楠楠
1楠[1619317500,0.00000219,0.00000219,0.0000021…楠
2楠楠楠[1619317500,0.00000863,0.00000861,0.0000086。。。
可以接受dict。它将dict键构造为列标题,dict值构造为列值

将熊猫作为pd导入
a=[“REQ-ETH”、“REQ-BTC”、“XLM-BTC”]
klines_数据={}
对于我来说,在一个:
klines=client.get_kline_数据(i'5min',1619317366,1619317606)
klines_数据[i]=klines[0]
#                   ^
#                   |
#向klines_数据添加密钥
df=pd.数据帧(klines_数据)
如果
kline
的长度不相等,可以使用

df=pd.DataFrame.from_dict(klines_data,orient='index').T

感谢您建议添加词典。在尝试下面的代码时,我发现*symbol:Vklines_data.append({I:*klines})@Irshyp编辑了我的答案。@Irshyp更新了我的答案。完美解决方案@Ynjxsjmh-现在完全按照预期工作。非常感谢您的帮助-谢谢!
print(df)

         REQ-ETH         REQ-BTC         XLM-BTC
0     1619317500      1619317500      1619317500
1      0.0000491      0.00000219      0.00000863
2      0.0000491      0.00000219      0.00000861
3      0.0000491      0.00000219      0.00000863
4      0.0000491      0.00000219      0.00000861
5         5.1147         19.8044        653.5693
6  0.00025113177  0.000043371636  0.005629652673