【问题标题】:How to convert pandas dataframe index as a clickable link?如何将熊猫数据框索引转换为可点击链接?
【发布时间】:2020-07-03 22:35:11
【问题描述】:

我有一个看起来像这样的熊猫数据框:

        heading1  heading2
 issue1 data        data
 issue2 data        data

enter image description here

我正在使用 df.to_excel 函数将其转换为 excel。 现在我想将索引转换为可点击的超链接。 例如 - 如果我点击 Issue1,它应该带我到 www.issue1.com。我知道如何将 pandas 数据框列转换为超链接,但不确定是否可以使索引可点击。任何帮助将不胜感激。

【问题讨论】:

标签: python python-3.x pandas dataframe openpyxl


【解决方案1】:

pandas.DataFrame.set_indexpandas.DataFrame.index 一起使用。

import pandas as pd

df = pd.DataFrame(
    dict(
        MUL1=["Data", "Data"],
        MUL2=["Data", "Data"],
    ),
    index=["Issue1", "Issue2"],
)

df = df.set_index("www." + df.index + ".com")
print(df)

编辑:OP 评论:

这只是将索引从“issue1”更改为“www.issue1.com”,但不会使其可点击。 (=HYPERLINK) – Aditya Garg

我的回答是链接的可点击性取决于您在哪个程序中显示链接。我使用 Pycharm,它能够检测控制台输出中的 URL 并默认使它们可点击:

也就是说,在其他程序(例如 cmd.exe)中运行脚本时,它可能无法点击。将其设置为htmlmarkdown style 链接不会改变诸如cmd 之类的情况。但是,如果您要在支持特定链接格式化方法的东西中显示此 DataFrame,那么您可以尝试以下一些示例:

import pandas as pd

df = pd.DataFrame(
    dict(
        MUL1=["Data", "Data"],
        MUL2=["Data", "Data"],
    ),
    index=["Issue1", "Issue2"],

)
index = df.index

# Basic link example
df = df.set_index('www.' + index + '.com/')
print(df)

# Markdown Link Example
df = df.set_index("[" + index + "](www." + index + ".com)")
print(df)

# angle bracket format example
df = df.set_index("<www." + index + ".com>")
print(df)

# html link example
df = df.set_index('<a href="www.' + index + '.com">' + index + '</a>')
print(df)

【讨论】:

  • 这只是将索引从“issue1”更改为“www.issue1.com”,但不会使其可点击。 (=HYPERLINK)
  • 编辑了我的答案,回复了您的评论 Aditya Garg
猜你喜欢
  • 2020-02-13
  • 2013-12-26
相关资源
最近更新 更多