12

xlrdを使用して Excel ファイルを読み込んでいます。1 つの列には、ハイパーリンク (背後に URL があることを意味します) としてフォーマットされた会社名があります。セルの値を取得すると、会社名のみが取得されます。その背後にあるURLも取得するにはどうすればよいですか?

以下は、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??
4

1 に答える 1

10

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)
于 2011-08-14T13:31:12.330 に答える