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

XLSX单元格含多超链接时常规方法失效,如何用openpyxl提取?

用openpyxl提取单元格内多个超链接的方案

当单元格包含多个超链接(即富文本内嵌多个链接)时,常规的cell.hyperlink只能获取单个链接,此时需要解析单元格的富文本内容来提取所有链接:

  • 步骤1:导入openpyxl并加载目标工作簿
from openpyxl import load_workbook

# 加载xlsx文件
wb = load_workbook("你的文件路径.xlsx")
# 选择目标工作表,可替换为具体表名如wb["Sheet2"]
ws = wb.active
  • 步骤2:解析单元格的富文本片段,提取链接与对应文本
    目标单元格的rich_text属性会返回富文本片段列表,每个带链接的片段会包含hyperlink属性,通过遍历即可提取所有链接:
# 替换为你的目标单元格位置,比如"B3"
target_cell = ws["A1"]
extracted_links = []

for segment in target_cell.rich_text:
    # 检查当前片段是否带有超链接
    if hasattr(segment, "hyperlink") and segment.hyperlink is not None:
        extracted_links.append({
            "显示文本": str(segment),
            "链接地址": segment.hyperlink.target
        })

# 打印提取结果
for item in extracted_links:
    print(f"文本:{item['显示文本']},链接:{item['链接地址']}")
  • 补充说明:
    • rich_text中的元素可能是普通字符串(无链接)或带格式/链接的富文本对象
    • 仅当片段的hyperlink属性不为空时,才是包含超链接的内容,hyperlink.target即为目标URL

内容的提问来源于stack exchange,提问作者Shakkir Moulana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 17:30:46