我已经使用df.to_excel将pandas DataFrame转换为Excel工作表。现在,我想在一列中的值上添加超链接。换句话说,当客户看到我的Excel工作表时,他可以点击一个单元格并调出一个网页(取决于该单元格中的值)。
df.to_excel
wribegjk1#
基于@guillaume-jacquenot的方法,我们可以使用apply将其应用于整个系列。
apply
df = pd.DataFrame({'Year': [2000, 2001, 2002 , 2003]})
为了清洁,我写了一个helper方法。
def make_hyperlink(value): url = "https://custom.url/{}" return '=HYPERLINK("%s", "%s")' % (url.format(value), value)
然后,apply它到系列:
df['hyperlink'] = df['Year'].apply(make_hyperlink)
Year hyperlink 0 2000 =HYPERLINK("https://custom.url/2000", "2000") 1 2001 =HYPERLINK("https://custom.url/2001", "2001") 2 2002 =HYPERLINK("https://custom.url/2002", "2002") 3 2003 =HYPERLINK("https://custom.url/2003", "2003")
bbuxkriu2#
您可以使用HYPERLINK函数
HYPERLINK
import pandas as pd df = pd.DataFrame({'link':['=HYPERLINK("http://www.someurl.com", "some website")']}) df.to_excel('test.xlsx')
j0pj023g3#
从@maxymoo的回答中,这里有一个完整的例子
import pandas as pd df = pd.DataFrame({'Year': [2000, 2001, 2002 , 2003]}) df['link'] = '-' df.set_value(0, 'link', '=HYPERLINK("https://en.wikipedia.org/wiki/2000", 2000)') df.set_value(1, 'link', '=HYPERLINK("https://en.wikipedia.org/wiki/2001", 2001)') df.set_value(2, 'link', '=HYPERLINK("https://en.wikipedia.org/wiki/2002", 2002)') df.set_value(3, 'link', '=HYPERLINK("https://en.wikipedia.org/wiki/2003", 2003)') df.to_excel('test.xlsx', index = False)
qyswt5oh4#
您可以用途:
df = pd.DataFrame(list(range(5)), columns=['a']) df['a'] = df['a'].apply(lambda x: '<a href="http://youtube.com/{0}">link</a>'.format(x)) HTML(df.to_html(escape=False))
nzrxty8p5#
我正在从Excel文件生成文本文件,并希望将生成的.txt文件的名称链接到Dataframe中的特定现有列。我正试图推动本地驱动器目录生成的.txt文件存储,到相应的“文件名”.因此,点击文件名,它将打开.txt文件.
rancheck_DF = pd.read_excel(excel_file, delim_whitespace = True, encoding = 'utf-8') for index_df in range(len(rancheck_DF)): Desc = rancheck_DF.loc[index_df,'Description Text'] MainFile = rancheck_DF.loc[index_df,'File Name'] fileName = r'.\Documents\TestF\TestF_{}.txt'.format(index_df) with open(fileName, 'w', encoding='utf-8') as txtfile: txtfile.write(Desc) rancheck_DF.loc[index_df,'File Name'] = '=HYPERLINK("{}","{}")'.format(fileName,MainFile) rancheck_DF.to_excel('./damn.xlsx', index=None)
5条答案
按热度按时间wribegjk1#
基于@guillaume-jacquenot的方法,我们可以使用
apply
将其应用于整个系列。为了清洁,我写了一个helper方法。
然后,
apply
它到系列:bbuxkriu2#
您可以使用
HYPERLINK
函数j0pj023g3#
从@maxymoo的回答中,这里有一个完整的例子
qyswt5oh4#
您可以用途:
nzrxty8p5#
我正在从Excel文件生成文本文件,并希望将生成的.txt文件的名称链接到Dataframe中的特定现有列。
我正试图推动本地驱动器目录生成的.txt文件存储,到相应的“文件名”.因此,点击文件名,它将打开.txt文件.