在Python中读取Excel合并单元格数据,推荐使用openpyxl
库,其支持直接访问合并单元格的左上角单元格内容。以下是具体方法:
一、使用openpyxl
读取合并单元格
-
安装库
首先需安装
openpyxl
库,通过命令行执行:pip install openpyxl
-
加载工作簿与工作表
from openpyxl import load_workbook workbook = load_workbook('filename.xlsx') worksheet = workbook['Sheet1']
-
遍历合并单元格
使用
merged_cells.ranges
获取所有合并区域,通过起始行/列坐标访问内容:for merged_cell in worksheet.merged_cells.ranges: start_row, start_column, end_row, end_column = merged_cell.bounds merged_value = worksheet.cell(start_row, start_column).value print(merged_value)
二、注意事项
-
坐标系统 :
openpyxl
的行/列索引从1开始,与Excel一致。 -
兼容性 :
openpyxl
仅支持.xlsx
格式文件,若需处理.xls
文件,可结合xlrd
库使用,但需注意其合并单元格处理逻辑与openpyxl
存在差异。
三、其他方法(补充说明)
-
xlrd库 :适用于
.xls
格式,通过merged_cells
属性获取合并区域,但需手动计算目标单元格在合并区域中的位置。 -
win32com库 :通过Excel对象模型访问合并单元格,但仅限Windows环境,且代码复杂度较高。
建议优先使用openpyxl
库,其功能更全面且代码简洁。