从Excel文档获取超链接URL

12 投票
1 回答
11909 浏览
提问于 2025-04-16 23:34

我正在使用 xlrd 来读取 一个Excel文件。在其中一列里,有一个公司名称,它是以超链接的形式格式化的(这意味着它后面有一个网址)。当我获取单元格的值时,只能得到公司名称。我该如何同时获取它背后的网址呢?

下面是使用 xlrd 模块读取 Excel 文件的代码(假设文件已经导入)。

mainData_book = xlrd.open_workbook("IEsummary.xls", formatting_info=True)
mainData_sheet = mainData_book.sheet_by_index(0) # Get the first sheet 0
start = 1
end = 101
for counter in range(start, end):
    rowValues = mainData_sheet.row_values(counter, start_colx=0, end_colx=8)
    company_name = rowValues[0] #how i can get link here also??

1 个回答

11

在xlrd 0.7.2版本或更新的版本中,你可以使用hyperlink_map这个功能:

import xlrd
mainData_book = xlrd.open_workbook("IEsummary.xls", formatting_info=True)
mainData_sheet = mainData_book.sheet_by_index(0)
for row in range(1, 101):
    rowValues = mainData_sheet.row_values(row, start_colx=0, end_colx=8)
    company_name = rowValues[0]

    link = mainData_sheet.hyperlink_map.get((row, 0))
    url = '(No URL)' if link is None else link.url_or_path
    print(company_name.ljust(20) + ': ' + url)

撰写回答