2011-08-14 28 views
10

Estoy leyendo an Excel file usando xlrd. En una columna, tengo un nombre de compañía que está formateado como un hipervínculo (lo que significa que hay una URL detrás). Cuando obtengo el valor de la celda solo obtengo el nombre de la empresa. ¿Cómo puedo obtener la URL detrás de esto?Obtener una URL de hipervínculo de un documento de Excel

A continuación se muestra el código para leer un archivo de Excel utilizando el módulo xlrd (supongamos que se importan los archivos).

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

fija por favor un poco de código para que podamos tener una base para responder a! Y trate de corregir el título para incluir palabras clave relevantes. – DGM

+1

@Aamir Adnan Agregó un enlace a un archivo de ejemplo. ¿Capturé la estructura correctamente? Siéntase libre de reemplazarlo con un enlace a un archivo de ejemplo suyo. – phihag

+0

@phihag: gracias, esto ahora tiene más sentido para la pregunta :) (no sé por qué obtuve voto negativo en esta pregunta esta es una pregunta genuina chicos, por favor ayuda generosamente) –

Respuesta

8

En XLRD 0.7.2 o posterior, puede utilizar 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

desde donde puedo descargar la versión xlrd 0.7.2? –

+0

@Adamari Adnan Revisé la versión de desarrollo con 'svn co https: // secure.simplistix.co.uk/svn/xlrd/trunk /'. Parece que 0.7.2 aún no se ha lanzado. – phihag

+0

ok lo he tomado de svn, muchas gracias por su ayuda. –

Cuestiones relacionadas