首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python字典作为ipython notebook中的html表

Python字典作为ipython notebook中的html表
EN

Stack Overflow用户
提问于 2015-05-29 15:31:36
回答 5查看 17.9K关注 0票数 21

是否有任何(现有的)方法在ipython笔记本中将python字典显示为html表。假设我有一本字典

代码语言:javascript
复制
d = {'a': 2, 'b': 3}

然后我跑

代码语言:javascript
复制
magic_ipython_function(d)

给我一些像这样的东西

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-05-29 16:42:52

您可以编写自定义函数来覆盖默认的_repr_html_函数。

代码语言:javascript
复制
class DictTable(dict):
    # Overridden dict class which takes a dict in the form {'a': 2, 'b': 3},
    # and renders an HTML Table in IPython Notebook.
    def _repr_html_(self):
        html = ["<table width=100%>"]
        for key, value in self.iteritems():
            html.append("<tr>")
            html.append("<td>{0}</td>".format(key))
            html.append("<td>{0}</td>".format(value))
            html.append("</tr>")
        html.append("</table>")
        return ''.join(html)

然后,像这样使用它:

代码语言:javascript
复制
DictTable(d)

输出将为:

如果您要处理更大的数据(数千个项目),请考虑使用pandas。

创意来源:Blog post of ListTable

票数 15
EN

Stack Overflow用户

发布于 2015-05-29 15:41:54

您可能正在寻找像ipy_table这样的东西。

另一种方法是对数据帧使用pandas,但这可能有点过头了。

票数 13
EN

Stack Overflow用户

发布于 2015-05-29 16:21:08

我不会说熊猫是一种过度的杀伤力,因为你可能会将DataFrame作为一个字典,以及其他一些东西。

不管怎样,你可以这样做:

代码语言:javascript
复制
pd.DataFrame.from_dict(d, orient="index")

代码语言:javascript
复制
pd.DataFrame(d.values(), index=d.keys())
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30523735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档