簡體   English   中英

保留Pandas中的超鏈接 - Excel到數據幀

[英]Retain hyperlinks in Pandas - Excel to dataframe

我有一個大型excel文件,其中包含幾張我需要轉換為HTML的數據。 我很高興嘗試Pandas來幫助簡化轉換,並保持將Excel表格保存為HTML,然后花一整天時間刪除所有可怕的MS標簽。

我能夠讀取Excel文件+工作表,然后將它們作為數據框加載。 唯一的問題是它正在剝離單元格中的所有超鏈接。 我看了一遍,但找不到保留超鏈接的答案。 這是我第一次使用熊貓,所以它可能只是缺乏經驗。 下面是我的代碼和輸出的屏幕截圖。 謝謝您的幫助。

In [2]: import pandas as pd

In [3]: xls_file = pd.ExcelFile('Desktop/cfec-temp/blackbook/blackbook.xlsx')

In [4]: xls_file
Out[4]: <pandas.io.excel.ExcelFile at 0x1132ce4e0>

In [5]: xls_file.sheet_names
Out[5]: ['Sheet1', 'Sheet2', 'Sheet3', 'Sheet4', 'Sheet5', 'Sheet6', 'Sheet7']

In [6]: df = xls_file.parse('Sheet1')

In [7]: df

在此輸入圖像描述

我要做的是使用openpyxl來獲取超鏈接,然后遍歷for循環中的行,創建超鏈接列表,並在pandas數據幀中添加一個新列:

import openpxyl
import pandas as pd

df = pd.read_excel('file.xlsm')

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

links = []
for i in range(2, ws.max_row + 1):  # 2nd arg in range() not inclusive, so add 1
    links.append(ws.cell(row=i, column=1).hyperlink.target)

df['link'] = links

與我在另一個問題中回答的相同的第一位代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM