在Pandas Dataframe中导入具有多个工作表的多个相关excel文件的最佳方法

我有20个excel文件,每个文件代表一年,其中每个文件都有10张该年不同(但彼此相关)的数据。

如何将它们全部正确地导入pandas数据框中,以进行整个时期的数据分析?

例如,为进一步说明,我应该为每个Excel文件(年份)使用Dict,其中键是工作表名称,值是工作表内容(数据框)吗?或在这种情况下正确的方法是什么?

编辑1:数据是我们足球联赛的信息,每个赛季在一个单独的Excel文件中,该文件具有多个表格(表格数据示例:俱乐部,球员,比赛,进球,纸牌等)。我有20年的数据价值,我将要对其进行分析,但是我对使用大熊猫导入数据的不同方式感到不知所措。

谢谢

解决方案


这应该与ExcelFile和concat一起使用。根据评论更新:

import pandas as pd

location1 = r'Location1.xlsx'
location2 = r'Location2.xlsx'

locations = [location1, location2]

frames = []

for loc in locations:
    file = pd.ExcelFile(loc)
    df = file.parse('Sheet1')
    df['source'] = loc.rsplit('\\', 1)[-1]
    frames.append(df)

df = pd.concat(frames)

这种方法将允许您遍历您的位置并添加一个source列,该列将提供文件名-我认为那是年份。请注意,您可能会更好地为每个工作表创建一个数据框,而不是为所有工作表创建一个庞大的数据框,因为我猜测每个工作表的数据结构都不同。您可以使用合并根据需要加入他们。

另外,如果所有文件都位于一个位置,则可能会通过glob函数一次加载所有文件。有关详细信息,请参阅将多个csv文件导入pandas并串联到一个DataFrame中

(0)

相关推荐