如何用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
相关产品推荐
相关产品推荐

