使用Python pandas.to_excel()将超链接输出(可单击)到电子表格
我有一个数据框,其中一列是所有超链接(例如,)。我已设法使这些链接在Jupyter笔记本中呈现为html:使用Python pandas.to_excel()将超链接输出(可单击)到电子表格,python,html,pandas,Python,Html,Pandas,我有一个数据框,其中一列是所有超链接(例如,)。我已设法使这些链接在Jupyter笔记本中呈现为html: from IPython.display import HTML df["URL"] = df["URL"].apply(lambda x: '<a href="{}">{}</a>'.format(x,x)) df = HTML(df.to_html(escape=False)) df 从IPython.display导入HTML df[“URL”]=df[“U
from IPython.display import HTML
df["URL"] = df["URL"].apply(lambda x: '<a href="{}">{}</a>'.format(x,x))
df = HTML(df.to_html(escape=False))
df
从IPython.display导入HTML
df[“URL”]=df[“URL”].apply(lambda x:''。格式(x,x))
df=HTML(df.to_HTML(escape=False))
df
但我无法将这些链接作为html而不是文本写入Excel(或ODS)电子表格。在上面的例子中,df
成为IPython.core.display.HTML
对象,而不使用pandas的to_excel()
当我使用lambda x:HTML('''.format(x,x))
将单个单元格转换为IPython.core.display.HTML
,然后在数据帧上调用到excel
时,我得到异常:
意外数据类型
您可以使用内置的超链接功能
import pandas as pd
df = pd.DataFrame({'link':['=HYPERLINK("http://www.someurl.com", "some website")']})
df.to_excel('mohammad-rocks.xlsx')
我试过了。它将单元格呈现为
0
。当我单击它时,我得到的“0”不是可以传递给外部应用程序以打开它的绝对URLhttp://www.someurl.com“,“某个网站”)放入Excel中的一个单元格,然后它就可以工作了。@zadrozny刚刚经历了安装pandas的麻烦,看看有什么问题,上面的代码对我来说很好,这是一张图片,证明LibreCalc可能存在问题。当我使用创建csv
,然后将文件扩展名更改为xlsx时,会显示文本,链接也会工作。奇怪。@zadrozny可能尝试更新python/panda?如果URL(即someurl.com)来自一个变量怎么办?