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

2024-05-23 18:59:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有20个excel文件,每一个代表一年,每一个都有10张不同(但相互关联)的当年数据。在

如何在熊猫数据框中正确导入这些数据,以便对整个期间的数据进行分析?在

举例说明: 我是否应该对每个excel文件(年)使用Dict,其中键是sheetname,值是表内容(数据框)?或者在这种情况下,正确的方法是什么?在

编辑1:数据是我们的足球联赛信息,每个赛季都在一个单独的excel文件中,有多个表格(表格数据例如:俱乐部、球员、比赛、进球、卡片等)。我有20年的数据,我正要分析,但我被用熊猫进口数据的不同方式弄得不知所措。在

谢谢


Tags: 文件数据方法信息编辑内容情况代表
1条回答
网友
1楼 · 发布于 2024-05-23 18:59:42

这应该适用于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)

这个方法可以让你循环浏览你的位置,并添加一个源列,它将给出文件名——我假设是年份。请注意,您可能会有更好的运气为每个工作表创建一个数据帧,而不是为所有工作表创建一个大数据框,因为我猜每个工作表的数据结构是不同的。可以根据需要使用merge将它们连接起来。在

另外,如果所有文件都在一个位置,那么使用glob函数可以同时加载所有文件。有关详细信息,请参见Import multiple csv files into pandas and concatenate into one DataFrame。在

相关问题 更多 >