Pertanyaan Pandas read_excel dengan Hyperlink


Saya memiliki spreadsheet Excel yang saya baca ke Pandas DataFrame:

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

Namun, salah satu kolom dari spreadsheet berisi teks yang memiliki hyperlink yang terkait dengannya. Bagaimana cara mengakses hyperlink yang mendasari di Pandas?


4
2018-02-10 21:00


asal


Jawaban:


Ini bisa dilakukan dengan openpyxl, saya tidak yakin mungkin dengan Pandas sama sekali. Begini cara saya melakukannya:

import openpxyl

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

Anda juga dapat menggunakan iPython, dan menetapkan variabel yang sama dengan objek hyperlink:

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

lalu lakukan t. dan tekan tab untuk melihat semua opsi untuk apa yang dapat Anda lakukan atau akses dari objek.


4
2017-08-01 20:07



sebagaimana dikomentari oleh slaw itu tidak mengambil hyperlink tetapi hanya teks

di sini text.xlsx berisi tautan di kolom ke-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')

1
2018-05-25 11:52



Anda tidak bisa melakukan itu di panda. Anda bisa mencobanya pustaka lain yang dirancang untuk menangani file excel.


0
2018-02-10 22:47