保留Pandas Excel到datafram的超链接

2024-10-01 15:44:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大的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

enter image description here


Tags: 文件inpandasdfhtmloutxlsexcel
1条回答
网友
1楼 · 发布于 2024-10-01 15:44:32

我要做的是使用openpyxl获取超链接,然后迭代for循环中的行,创建超链接列表,并在pandas dataframe中添加一个新列:

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

与我在other question中回答的第一段代码相同

相关问题 更多 >

    热门问题