在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)