【问题标题】:How to load multiple excel files with multiple sheets in to one dataframe in python如何在python中将具有多张工作表的多个excel文件加载到一个数据框中
【发布时间】:2019-03-25 10:24:29
【问题描述】:

我们正在尝试制作一个自动程序,该程序可以从一个文件夹中获取多个带有多张工作表的 Excel 文件,并将它们附加到一个数据框中。

我们的问题是我们不太确定如何执行此操作,因此该过程变得最自动化。而且由于工作表的名称不同,我们不能为它们指定任何变量。

所有文件都是*.xlsx,代码必须加载任意数量的文件。

我们尝试了不同类型的代码,主要是使用 pandas,但我们似乎无法将它们附加到一个数据帧中。

import numpy as np
import pandas as pd
import glob
all_data = pd.DataFrame()
for f in glob.glob("*.xlsx"):
    df = pd.read_excel(f)
    all_data = all_data.append(df, ignore_index=True)

# now save the data frame
writer = pd.ExcelWriter('output.xlsx')
all_data.to_excel(writer)
writer.save() 

sheet1 = xls.parse(0)

我们希望有一个包含所有数据的数据框,这样我们就可以使用数据并提取不同的特征并进行统计。

【问题讨论】:

    标签: excel python-3.x pandas dataframe load


    【解决方案1】:

    pandas.read_excel 的文档说明:

    *sheet_name : str, int, list, or None, 默认为 0 字符串用于工作表名称。整数用于零索引的工作表位置。字符串/整数列表用于请求多张工作表。指定 None 以获取所有工作表。

    可用案例:

    • 默认为 0:作为 DataFrame 的第一张工作表
    • 1:作为 DataFrame 的第二张工作表
    • “Sheet1”:加载名为“Sheet1”的工作表
    • [0, 1, "Sheet5"]: 加载第一个、第二个和名为“Sheet5”的工作表作为 DataFrame 的字典 无:所有工作表。*

    我建议尝试最后一个选项,即 pd.read_excel(f,sheet_name = None)。否则,您可能想要创建一个循环并传递索引与实际工作表名称,这样您就不必事先了解 .xlsx 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      • 2010-11-07
      • 2018-07-03
      • 2015-11-01
      • 2017-10-17
      • 1970-01-01
      • 2021-11-20
      相关资源
      最近更新 更多