【问题标题】:Extract multiple dataframes from dictionary with Python使用 Python 从字典中提取多个数据帧
【发布时间】:2020-09-06 17:44:52
【问题描述】:

我在 Python 中使用 pandas 库。

我通过执行以下操作获取了一个 excel 文件并将内容存储在数据框中:

path = r"filepath"
sheets_dict = pd.read_excel(path,sheet_name=None)

由于有多个工作表,每个工作表都包含一个具有相同列的数据表,因此我使用了 pd.read_excel(path,sheet_name=None)。这将所有单独的工作表存储到字典中,每个值/工作表的键是工作表名称。

我现在要解压字典并将每张表放入单个数据框中。我想将字典中每个工作表的键用作 mulitindex 的任何一部分,所以我知道每个表的键/表来自或附加为新列,这为我提供了每个唯一子集的键/表名称数据框。

我尝试了以下方法:

for k,df in sheets_dict.items():
    df = pd.concat([pd.DataFrame(df)])
    df['extract'] = k

但是我没有得到我想要的结果。

有什么建议吗?

【问题讨论】:

    标签: python excel pandas dataframe dictionary


    【解决方案1】:

    您可以在pd.concat 中使用keys 参数,它将您的dict 的键设置为索引。

    df = pd.concat(sheets_dict.values(),keys=sheets_dict.keys())
    

    默认情况下,pd.concat(sheet_dict) 会将索引设置为键。

    【讨论】:

      猜你喜欢
      • 2021-03-22
      • 2019-08-12
      • 2016-04-28
      • 2021-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-16
      • 2018-02-24
      相关资源
      最近更新 更多