如何从ordereddict生成多个熊猫数据框?

时间:2019-04-12 15:04:02

标签: python pandas

我有一个有序词典,其中的键是工作表名称,而值包含工作表项。因此,问题是:如何使用每个键并将其转换为单独的数据框?

import pandas as pd
powerbipath = 'PowerBI_Ingestion.xlsx' dfs = pd.read_excel(powerbipath, None)

values=[] for idx, eachdf in enumerate(dfs):
    eachdf=dfs[eachdf]
    new_list1.append(eachdf)
    eachdf = pd.DataFrame(new_list1[idx])

我仅看到的示例显示了如何从有序字典转换为1个pandas数据框。我想转换为多个数据框。因此,如果有5个键,则将有5个数据帧。

2 个答案:

答案 0 :(得分:1)

您可能想做这样的事情,(假设您的字典看起来像'd'):

d = {'first': [1, 2], 'second': [3, 4]}
for i in d:
  df = pd.DataFrame(d.get(i), columns=[i])
  print(df)

输出如下:

   first
0      1
1      2
   second
0       3
1       4

答案 1 :(得分:0)

这是使用these ideas之一的基本答案

keys = df["key_column"].unique
df_array = {}
for k in keys : 
   df_array[k] = dfs[dfs['key_column'] == k]

不过,可能会有更有效的方法。