2011-08-14 6 views
10

을 사용하여 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

괜찮아요. svn에서 가져 왔습니다. 덕분에 많은 도움을 받았습니다. –