将可点击链接存储在numpy chararray中

时间:2019-01-22 13:10:02

标签: python python-3.x pandas numpy

我有一个用项目填充的numpy字符数组,我需要每个项目都是html中的可点击链接。但是当我这样做时,href标记将显示为文本:

grid = np.chararray(shape=[2,2]).astype('|S55')

item = "<a href='#'>%s</a>" % str(item_number) 
grid[1,1] = item

我不知道这很重要,但是我正在使用pandas创建一个数据框,然后使用to_html()方法以html格式将其发送到django模板。

df = pd.DataFrame(
    data=grid.astype(str),    # values
    index=side,    # 1st column as index
    columns=header   # 1st row as the column names
)
table = df.to_html()

如何将链接放置在chararray中,以使其在页面上呈现时可单击?

1 个答案:

答案 0 :(得分:0)

使用df.to_html(escape=False)阻止将<>&之类的字符转换为HTML序列(例如&lt;&gt;&amp;):

import numpy as np
import pandas as pd

item_number = 99
grid = np.chararray(shape=[2,2]).astype('|S55')
item = "<a href='#'>%s</a>" % str(item_number) 
grid[1,1] = item

df = pd.DataFrame(grid.astype(str), columns=['a', 'b'])
print(df.to_html(escape=False))

收益

<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>a</th>
      <th>b</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <th>1</th>
      <td></td>
      <td><a href='#'>99</a></td>
    </tr>
  </tbody>
</table>

enter image description here