2011-08-14 12 views
10

xlrdを使用してan Excel fileを読んでいます。あるコラムでは、会社名がハイパーリンク(その背後にURLがあることを意味する)としてフォーマットされています。私がセル価値を得るとき、私は会社名を得るだけです。どのようにURLの後ろにURLを取得することもできますか?Excel文書からハイパーリンクURLを取得する

以下は、xlrdモジュールを使用してExcelファイルを読み込むコードです(ファイルが読み込まれていることを前提としています)。 xlrd 0.7.2以降で

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?? 
+0

を我々から回答する基盤を持つことができますので、いくつかのコードを投稿してください!関連するキーワードを含めるようにタイトルを修正してください。 – DGM

+1

@Aamir Adnanサンプルファイルへのリンクを追加しました。構造を正しく捕捉できましたか?あなたのサンプルファイルへのリンクで自由に置き換えてください。 – phihag

+0

@phihag:ありがとう、これは今質問にもっと理にかなっています:)(なぜ私はこの質問に対して否定的な投票をしたのかわかりませんが、これは本物の質問者です、寛大に助けてください) –

答えて

8

、あなたは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) 
+0

どこからxlrd 0.7.2バージョンをダウンロードできますか? –

+0

@Adamari Adnan 'svn co https:// secure.simplistix.co.uk/svn/xlrd/trunk /'で開発版をチェックアウトしました。 0.7.2はまだリリースされていないようです。 – phihag

+0

ok私はsvnから取った、あなたの助けをたくさんありがとう。 –

関連する問題