返回
Pandas pd.read_excel()如何高效加载同一工作簿中的多个工作表?
python
2024-03-28 12:48:50
如何使用 Pandas 的 pd.read_excel() 读取同一工作簿中的多个工作表
问题:加载特定工作表
当使用 pd.read_excel()
读取任何工作表时,似乎整个文件都会被加载(而不仅仅是你感兴趣的工作表)。如果你需要从同一工作簿中的两个选项卡(工作表)中获取数据,这可能会导致不必要的延迟和内存消耗。
解决方案:指定工作表
1. 使用 sheet_name 参数
sheet_name
参数允许你指定要加载的工作表名称。例如,要仅加载名为 "Sheet1" 的工作表,可以使用:
df = pd.read_excel('workbook.xlsx', sheet_name='Sheet1')
2. 使用 index 参数
index
参数允许你指定要加载的工作表索引。例如,要加载工作簿中的第一个工作表,可以使用:
df = pd.read_excel('workbook.xlsx', index=0)
3. 使用 list 参数
list
参数允许你指定一个工作表名称或索引列表。例如,要加载名为 "Sheet1" 和 "Sheet3" 的工作表,可以使用:
df = pd.read_excel('workbook.xlsx', sheet_name=['Sheet1', 'Sheet3'])
注意事项
- 如果工作表名称中包含空格,请使用方括号将其括起来。
- 如果工作簿包含多个工作表,请使用
pd.ExcelFile
类来访问它们。
示例代码
# 加载名为 "Sheet1" 的工作表
df1 = pd.read_excel('workbook.xlsx', sheet_name='Sheet1')
# 加载工作簿中的第一个工作表
df2 = pd.read_excel('workbook.xlsx', index=0)
结论
通过使用 sheet_name
、index
或 list
参数,你可以仅加载特定工作表,从而提高读取大型电子表格文件的效率和性能。
常见问题解答
-
问题:如何获取工作簿中所有工作表的列表?
答案:使用
pd.ExcelFile
类。
workbook = pd.ExcelFile('workbook.xlsx')
sheets = workbook.sheet_names
-
问题:如果工作表名称中包含空格怎么办?
答案:使用方括号将其括起来。
df = pd.read_excel('workbook.xlsx', sheet_name='[Sheet Name]')
-
问题:如何加载工作簿中的所有工作表?
答案:使用
pd.read_excel()
而不需要指定sheet_name
参数。
df = pd.read_excel('workbook.xlsx')
-
问题:如何加载工作簿中的特定工作表范围?
答案:使用
sheet_name
参数并指定工作表范围。
df = pd.read_excel('workbook.xlsx', sheet_name='Sheet1:Sheet3')
-
问题:如何加载工作簿中特定工作表的特定行或列?
答案:使用
usecols
或skiprows
参数。
df = pd.read_excel('workbook.xlsx', sheet_name='Sheet1', usecols='A:C', skiprows=10)