微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 保留Pandas中的超链接 – Excel到数据帧

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

解决方法:

要做的是使用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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐