将包含图像的 Pandas 数据框转换为 HTML

Convert Panda's dataframe which contains images to HTML

下午好。

我目前在使用 Panda 的数据框时遇到问题。请考虑以下代码:

import pandas as pd
from IPython.core.display import display,HTML

df = pd.DataFrame([['A231', 'Book', 5, 3, 150], 
                   ['M441', 'Magic Staff', 10, 7, 200]],
                   columns = ['Code', 'Name', 'Price', 'Net', 'Sales'])

# your images
images = ['https://vignette.wikia.nocookie.net/2007scape/images/7/7a/Mage%27s_book_detail.png/revision/latest?cb=20180310083825',
          'https://i.pinimg.com/originals/d9/5c/9b/d95c9ba809aa9dd4cb519a225af40f2b.png'] 


df['image'] = images

# convert your links to html tags 
def path_to_image_html(path):
    return '<img src="'+ path + '" width="60" >'

pd.set_option('display.max_colwidth', None)

display(HTML(df.to_html(escape=False ,formatters=dict(image=path_to_image_html))))

显示如下:

如何将此特定数据框导入 HTML 文件?

我尝试了下面的代码,

df.to_html(open('my_file2.html', 'w'))

效果很好,但是“my_file2.html”显示如下: 我如何修改代码,以便在 my_file2.html 的“图像”列中显示实际图像而不是图像的 link?

感谢您的关注!

将其更改为html格式。所以图像是从源中挑选的。

df1['image']=  '''<img src="''' + df1['image'] + '''">''' 
with open('r.html', 'w') as fo:
    fo.write(df1.to_html(render_links=True,escape=False))