将Pandas数据框的完整内容写入HTML表格
我在一个Pandas数据框的某一列中嵌入了链接(下面的表格),然后把这个数据框写成了html格式。
数据框表格中的链接格式如下(这是表格中第一个链接的索引):
In: table.loc[0,'Links']
Out: u'<a href="http://xxx.xx.xxx.xxx/browser/I6.html">I6</a>'
如果我查看整个数据框(而不是索引特定的行),链接的文本会被截断:
<a href="http://xxx.xx.xxx.xxx/browser/I6.html...
我把数据框写成html:
table_1=table.to_html(classes='table',index=False,escape=False)
但是,写入html表格的却是被截断的链接(而不是完整的文本):
<td> <a href="http://xxx.xx.xxx.xxx/browser/I6.html...</td>\n
我可能需要给to_html()函数添加一个额外的参数。
现在查看文档,但如果有建议也很欢迎:
http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.to_html.html
谢谢!
1 个回答
2
这里可能有一个专门针对pandas的解释,但你也可以通过其他方法来解决这个问题,具体步骤是: (a) 用一个键值替换链接, (b) 写出HTML表格的字符串,然后 (c) 用合适的链接替换这些键。
举个例子,先把每个链接替换成一个键,并把这些键存储在一个字典里:
map = {}
for i in df.index:
counter = 0
if df.ix[i]['Links'] in map:
df.ix[i, 'Links'] = map[df.ix[i]['Links']]
else:
map[df.ix[i, 'Links']] = 'href' + str(counter)
counter += 1
df.ix[i, 'Links'] = map[df.ix[i]['Links']]
然后写出表格:
table_1 = df.to_html(classes='table',index=False,escape=False)
最后再把链接重新写回去:
for key, value in map.iteritems():
table_1 = table_1.replace(value, key)