```markdown
pandas
读取 Excel 中的多个 Sheet在处理 Excel 文件时,pandas
是一个非常强大的工具,能够帮助我们轻松读取并操作不同格式的数据。很多时候,Excel 文件包含多个 Sheet,我们需要从中读取多个 Sheet 的数据。本文将介绍如何使用 pandas
的 read_excel
函数来读取多个 Sheet 的数据。
pandas
和 openpyxl
首先,确保你的环境中已安装 pandas
和 openpyxl
(openpyxl
用于读取 .xlsx
格式的文件)。
bash
pip install pandas openpyxl
假设我们有一个 Excel 文件 example.xlsx
,其中包含多个 Sheet。我们可以使用 read_excel
函数读取单个 Sheet,如下所示:
```python import pandas as pd
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
print(df.head()) ```
如果 Excel 文件中有多个 Sheet,并且我们希望同时读取它们,可以通过 sheet_name
参数指定多个 Sheet 名称。可以传递一个列表来读取多个 Sheet。
```python
dfs = pd.read_excel('example.xlsx', sheet_name=['Sheet1', 'Sheet2'])
print(dfs['Sheet1'].head()) print(dfs['Sheet2'].head()) ```
上述代码中,dfs
是一个字典,其中键是 Sheet 的名称,值是对应的 DataFrame
。你可以通过 Sheet 名称访问每个 DataFrame
。
如果你不想指定每个 Sheet 的名称,可以使用 None
来读取文件中的所有 Sheet。
```python
dfs = pd.read_excel('example.xlsx', sheet_name=None)
print(dfs.keys())
print(dfs[list(dfs.keys())[0]].head()) ```
这里,dfs
是一个字典,其中每个 Sheet 的名称是键,对应的 DataFrame
是值。你可以通过字典的键访问每个 DataFrame
。
如果你只想读取特定的几个 Sheet,而不需要读取整个文件中的所有 Sheet,可以在 sheet_name
中指定想要读取的 Sheet 的名称列表,或者使用其索引。
```python
dfs = pd.read_excel('example.xlsx', sheet_name=['Sheet1', 'Sheet3'])
dfs = pd.read_excel('example.xlsx', sheet_name=[0, 2])
print(dfs['Sheet1'].head()) ```
sheet_name
参数的更多选项sheet_name
传递的是一个字符串或整数,read_excel
会返回对应 Sheet 的 DataFrame
。python
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
sheet_name
传递的是一个列表,read_excel
会返回一个字典,字典的键是 Sheet 的名称,值是 DataFrame
。python
dfs = pd.read_excel('example.xlsx', sheet_name=['Sheet1', 'Sheet2'])
sheet_name
传递的是 None
,read_excel
会返回一个包含所有 Sheet 数据的字典。python
dfs = pd.read_excel('example.xlsx', sheet_name=None)
read_excel
将读取对应的 Sheet。python
df = pd.read_excel('example.xlsx', sheet_name=0) # 读取第一个 Sheet
使用 pandas
读取多个 Sheet 非常简单。通过设置 sheet_name
参数,你可以读取单个 Sheet、多个指定的 Sheet,或者整个 Excel 文件中的所有 Sheet。这些功能非常适合处理包含多个数据表的复杂 Excel 文件。
希望本文能帮助你更好地掌握如何使用 pandas
处理 Excel 文件中的多个 Sheet!
```