You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Django的Tablib模块导入多工作表Excel文件并获取指定工作表

Tablib 读取多工作表 Excel 指定工作表的实现方法

首先确保你已经安装了必要依赖:

pip install tablib openpyxl
# 如果需要处理 .xls 格式旧版Excel,额外安装 xlrd
pip install xlrd

具体实现步骤如下:

  • 第一步:将完整Excel文件加载为 Book 对象
    Tablib 中Dataset对应单个工作表,多工作表的Excel需要先加载为Book类型的工作簿对象,Django中从上传文件读取的示例代码如下:
import tablib

# 从Django上传请求中获取Excel文件
upload_file = request.FILES["upload_excel"]
# 加载为工作簿对象,xlsx格式指定format为xlsx,xls格式指定为xls
workbook = tablib.import_book(upload_file.read(), format="xlsx")
  • 第二步:检索指定工作表,支持三种常用方式
    1. 按索引取值:工作表索引从0开始计数,示例获取第一个工作表:
    first_sheet = workbook.sheets()[0]
    
    1. 按工作表名称取值:直接用表名作为key获取,是最常用的精准匹配方式:
    target_sheet = workbook["你的工作表名称"]
    
    1. 遍历匹配:如果需要模糊匹配或者批量处理所有工作表,可以遍历全部sheet:
    for sheet in workbook.sheets():
        # 输出当前工作表名称和数据行数
        print(f"表名:{sheet.title},数据量:{sheet.height}")
        # 自定义匹配规则,比如匹配所有表名带「订单」的工作表
        if "订单" in sheet.title:
            # 后续业务逻辑
            process_sheet(sheet)
    

拿到指定工作表后,返回的对象就是标准的Tablib Dataset 类型,可以直接调用dict、json、yaml等方法转换为对应格式做后续数据处理。

内容的提问来源于stack exchange,提问作者Jaures Simo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:18:03