我有一个有序词典,其中的键是工作表名称,而值包含工作表项。因此,问题是:如何使用每个键并将其转换为单独的数据框?
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个数据帧。
答案 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]
不过,可能会有更有效的方法。