반응형
How to create a table with clickable hyperlink in pandas & Jupyter Notebook
print('http://google.com')
outputs a clickable url.
How do I get clickable URLs for pd.DataFrame(['http://google.com', 'http://duckduckgo.com'])
?
Try using pd.DataFrame.style.format
for this:
df = pd.DataFrame(['http://google.com', 'http://duckduckgo.com'])
def make_clickable(val):
return '<a href="{}">{}</a>'.format(val,val)
df.style.format(make_clickable)
I hope this proves useful.
If you want to apply URL formatting only to a single column, you can use:
data = [dict(name='Google', url='http://www.google.com'),
dict(name='Stackoverflow', url='http://stackoverflow.com')]
df = pd.DataFrame(data)
def make_clickable(val):
# target _blank to open new window
return '<a target="_blank" href="{}">{}</a>'.format(val, val)
df.style.format({'url': make_clickable})
(PS: Unfortunately, I didn't have enough reputation to post this as a comment to @Abdou's post)
@shantanuo : not enough reputation to comment. How about the following?
def make_clickable(url, name):
return '<a href="{}" rel="noopener noreferrer" target="_blank">{}</a>'.format(url,name)
df['name'] = df.apply(lambda x: make_clickable(x['url'], x['name']), axis=1)
from IPython.core.display import display, HTML
import pandas as pd
# create a table with a url column
df = pd.DataFrame({"url": ["http://google.com", "http://duckduckgo.com"]})
# create the column clickable_url based on the url column
df["clickable_url"] = df.apply(lambda row: "<a href='{}' target='_blank'>{}</a>".format(row.url, row.url.split("/")[2]), axis=1)
# display the table as HTML. Note, only the clickable_url is being selected here
display(HTML(df[["clickable_url"]].to_html(escape=False)))
I found this at How to Create a Clickable Link(s) in Pandas DataFrame and JupyterLab which solved my problem:
HTML(df.to_html(render_links=True, escape=False))
반응형
'기타' 카테고리의 다른 글
Python kernel dies on Jupyter Notebook with tensorflow 2 (1) | 2022.10.31 |
---|---|
리소스 수동 변경으로 지형 상태를 업데이트하는 방법 (0) | 2022.10.31 |
kubernetes 클러스터의 %28register stdout%29 초기화에서 마지막 두 줄을 가져오는 방법 (0) | 2022.10.31 |
Having a problem with Flutter Doctor on Arch Linux (1) | 2022.10.30 |
공인인증서가 있는데도 보이지 않을 때 (5) | 2016.06.11 |