行者孙Python

进货篇-Day3|进货第二式:read_excel 读取 Excel 表格数据

📖 知识点

1. 什么是 Excel 数据?

Excel(.xlsx)是办公最常用的表格格式,一个文件里可以有多个工作表(sheet),像一本分章的菜谱。pandas 也能直接读。

💡 生活比喻 Excel 文件像一本 "菜单册",里面有 "早餐页"" 午餐页 ""晚餐页";read_excel 能打开这本册子,指定读某一页。

2. read_excel 读取咒语

import pandas as pd

# 读取Excel文件(默认读第一个工作表)
df = pd.read_excel("食材.xlsx")
print(df)

运行输出:

   菜名  价格  数量
0  白菜    3   10
1  番茄    5   20
2  土豆    2   30

3. 常用参数(选页挑表)

参数作用例子
sheet_name指定读取哪个工作表sheet_name="午餐"
header指定列名所在行header=0
usecols只读指定列usecols=["菜名","价格"]
nrows只读前几行nrows=100

指定工作表读取:

# 读取名为"午餐"的工作表
df = pd.read_excel("食材.xlsx", sheet_name="午餐")

读取多张表(返回字典,key 为表名):

# 读所有工作表,返回{表名: DataFrame}
all_sheets = pd.read_excel("食材.xlsx", sheet_name=None)

💡 理解

  • 默认读第一个工作表
  • sheet_name 控制读哪张表;sheet_name=None 读全部(返回字典)
  • 读 Excel 需要环境装有 openpyxl 库,没有先 pip install openpyxl

⚠️ 易错提醒

  1. 读 Excel 前确保装了 openpyxl:pip install openpyxl
  2. sheet_name 写错表名会报错
  3. 只读特定列用 usecols,省内存又干净

⚔️ Kata 实战任务

任务需求:

  1. 导入 pandas(若需先安装 openpyxl)
  2. 用 pd.read_excel() 读取一个 Excel 文件(如 食材.xlsx)
  3. 打印整张表格
  4. 用 sheet_name 读取指定工作表(若文件有多个表)
  5. 用 head() 查看前几行

参考代码

import pandas as pd

# 进货第二式:读取Excel文件(默认第一个工作表)
df = pd.read_excel("食材.xlsx")
print("===== 从Excel读入的食材桌 =====")
print(df)

# 查看形状
print("\n表格形状(行, 列):", df.shape)

# 看前2行
print("\n前2行数据:")
print(df.head(2))

# 进阶:读指定工作表(假设有"午餐"这张表)
# df2 = pd.read_excel("食材.xlsx", sheet_name="午餐")
# print(df2)

运行输出:

===== 从Excel读入的食材桌 =====
   菜名  价格  数量
0  白菜    3   10
1  番茄    5   20
2  土豆    2   30

表格形状(行, 列): (3, 3)

前2行数据:
   菜名  价格  数量
0  白菜    3   10
1  番茄    5   20

💡 提示:请确保同目录下有 食材.xlsx 文件;若没有,可用 Excel 或 pandas 先创建一个。

🧠 思考题

  1. Excel 文件里可能有多个工作表,read_excel 默认读哪个?怎么指定读指定的表?
  2. 读 Excel 报错提示缺 openpyxl,该怎么解决?
‹ 返回目录
🏠首页 Python 📦资源 👤关于我