2016-02-10 101 views
1

我有一個Excel電子表格,我正在讀入數據幀的熊貓:熊貓read_excel與超鏈接

df = pd.read_excel("file.xls") 

然而,電子表格的一列包含有與它相關聯的超鏈接的文本。如何訪問Pandas中的底層超鏈接?

+0

標題應該是read_excel而不是read_csv – KKishore

+0

我不知道你在找什麼或樣本行將如何幫助。想象一下只有一個帶有文本的單元格的Excel電子表格。該文本是Excel中可點擊的超鏈接。文本可以是字母「A」並且可以在Excel中單擊,但「pd.read_excel」只抓取字母「A」而不是基礎超鏈接。 – slaw

回答

0

由色拉評論它不搶text.xlsx包含在第9欄

workbook = load_workbook('test.xlsx') 
worksheet = workbook.active 

column_indices = [9] 

for row in range(2,worksheet.max_row+1): 
    for col in column_indices: 
     filelocation = worksheet.cell(column=col, row=row) #this is hyperlink 
     text = worksheet.cell(column=col+1, row=row) # thi is your text 
     worksheet.cell(column=col+1,row=row).value = '=HYPERLINK("'+filelocation.value+'","'+text.value+'")' 


workbook.save('test.xlsx') 
+0

這是openpyxl的權利?你爲什麼要寫作業表格?我以爲我們想閱讀它的鏈接? 另外,超鏈接位於同一單元格中,而不是下一列。文本本身有一個超鏈接。 – wordsforthewise

3

這可以用openpyxl做鏈接的超級鏈接,但只有文字

在這裏,我不知道它可能與熊貓有關。以下是我已經做到了:

import openpxyl 

wb = openpyxl.load_workbook('yourfile.xlsm') 
ws = wb.get_sheet_by_name('Sheet1') 
print(ws.cell(row=2, column=1).hyperlink.target) 

您還可以使用IPython的,並設置一個變量等於超鏈接對象:

t = ws.cell(row=2, column=1).hyperlink

然後做t.然後按Tab鍵查看所有您可以使用或從對象訪問的選項。