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

如何用Python自动识别Excel工作表多区域并提取信息?

自动提取Excel多区域单元格信息

问题背景

我有一个包含多个数据区域的Excel工作表,示例内容如下:

书籍列表
作者: John Doe
书名: a big book
ISBN: 123456
年份: 2023
作者: Jane Doe
书名: another big book
ISBN: 78901
年份: 2024
论文列表:
作者: Doe, Jane; Doe, John; High, Ami.
期刊: NotNature
DOI: 1234567

我还有西班牙语版本的文件截图,截图中灰色标注的是各个数据区域,所有区域都有固定名称的表头,但每个文件的区域长度不固定。

现有实现代码

目前我已经写了一段指定单元格范围提取信息的代码:

import openpyxl
from openpyxl import load_workbook


def iterating_over_values(path, sheet_name, cell_range):
    workbook = load_workbook(filename=path)
    if sheet_name not in workbook.sheetnames:
        print(f"'{sheet_name}' not found. Quitting.")
        return

    sheet = workbook[sheet_name]
    for column in sheet[cell_range]:
        for cell in column:
            if isinstance(cell, openpyxl.cell.cell.MergedCell):
                # Skip this cell
                continue
    
            print(f"{cell.value}".split("\n"))
            

if __name__ == "__main__":
    iterating_over_values("file.xlsx", sheet_name="sheet1",
                          cell_range="A10:A20")

期望改进

希望能优化代码,实现自动检测各个数据区域,不需要手动指定单元格范围。


内容的提问来源于stack exchange,提问作者John Doe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 02:05:06