lma*_*999 5 html python pandas
我将链接嵌入到Pandas数据框的一列(下表)中,并将该数据框写入hmtl。
数据框表中的链接的格式如下所示(索引表中的第一个链接):
In: table.loc[0,'Links']
Out: u'<a href="http://xxx.xx.xxx.xxx/browser/I6.html">I6</a>'
Run Code Online (Sandbox Code Playgroud)
如果我查看(而不是索引特定的行)数据框(在笔记本中),则链接文本将被截断:
<a href="http://xxx.xx.xxx.xxx/browser/I6.html...
Run Code Online (Sandbox Code Playgroud)
我将数据框写入html:
table_1=table.to_html(classes='table',index=False,escape=False)
Run Code Online (Sandbox Code Playgroud)
但是,截断的链接(而不是全文)被写入html表:
<td> <a href="http://xxx.xx.xxx.xxx/browser/I6.html...</td>\n
Run Code Online (Sandbox Code Playgroud)
我可能需要to_html()的附加参数。
现在查看文档,但建议:
http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.to_html.html
谢谢!
因此,可能有一个特定于 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']]
Run Code Online (Sandbox Code Playgroud)
写表:
table_1 = df.to_html(classes='table',index=False,escape=False)
Run Code Online (Sandbox Code Playgroud)
重写链接:
for key, value in map.iteritems():
table_1 = table_1.replace(value, key)
Run Code Online (Sandbox Code Playgroud)