如何在 pandas 中合并多个 excel 工作表
通常,您可能希望将多个 Excel 工作表导入并合并到一个 pandas DataFrame 中。
例如,假设您有以下名为data.xlsx的 Excel 工作簿,其中包含三个不同的工作表,全部包含两列篮球运动员数据:
我们可以使用 pandas concat()和read_excel()函数轻松地将每个工作表导入并组合到单个 pandas DataFrame 中,但首先我们需要确保安装了xlrd :
pip install xlrd
安装后,我们可以使用以下代码将这三个表导入并组合成一个 Pandas DataFrame:
#load pandas library import pandas as pd #import and combine the three sheets into one pandas DataFrame df = pd. concat (pd. read_excel ('data.xlsx', sheet_name= None ), ignore_index= True ) #view DataFrame df player points 0 to 12 1 B 5 2 C 13 3 D 17 4 E 27 5 F 24 6 G 26 7:27 a.m. 8 I 27 9 D 12 10K 9 11 L 5 12 M 5 13 N 13 14 O 17
这段代码是如何工作的
只需两部分即可了解这一行代码如何导入并组合多个 Excel 工作表:
1. 阅读所有表格。
p.d. read_excel ('data.xlsx', sheet_name= None )
这段代码读取 Excel 工作簿的所有工作表。默认情况下, read_excel()函数仅读取第一个工作表,但是通过指定sheet_name=None,我们可以读取Excel工作簿中的每个工作表。
2. 连接所有工作表。
p.d. concat ( DataFrames to concatenate , ignore_index= True )
这段代码只是将每个 Excel 工作表中的所有 DataFrame 连接成一个 pandas DataFrame。通过指定ignore_index=True ,我们告诉pandas各个叶子名称并不重要。
请注意,此代码仅在每个 Excel 工作表具有相同格式时才有效。在此示例中,每个工作表都有两列数据,并且每列都具有相同的名称,这就是为什么这一行代码可以轻松地将每个 Excel 工作表合并到一个 pandas DataFrame 中。
其他资源
终极指南:如何使用 Pandas 读取 Excel 文件
如何跨多个 Excel 工作表编写 Pandas DataFrame